|
|
|
|
#1 |
|
Участник
|
Цитата:
Сообщение от userax2009
Нет. Есть форма А с кнопкой, по нажатию которой открывается форма Б с данными для поля на форме А. Подумал, для того, чтобы корректно отображать данные в форме Б, необходимо определить на каком поле в данный момент находиться курсор. Соответственно вопрос, как определить где в данный момент мой курсор ?
X++: public void gotFocus() { ; super(); curFieldId = this.fieldBinding().fieldId(); } |
|
|
|
|
#2 |
|
Участник
|
Цитата:
Можно запихнуть анализатор сюда : \Classes\SysSetupFormRun\selectControl и запоминать какой контрол активировался и.т.п. А если только для одной формы интересно, то аналогичный метод для конкретной формы. Последний раз редактировалось Logger; 29.05.2014 в 19:13. |
|
|
|
| За это сообщение автора поблагодарили: Мартынов Дмитрий (1), Pustik (2), gl00mie (3). | |
|
|
#3 |
|
Участник
|
думаю не покатит. Человека интересует момент, когда открывается вторая форма, и там он хочет видеть на каком же поле находился курсор, находящийся на первой форме. Метод SelectControl уже позади. Если я не ошибаюсь, то интуиция мне подсказывает, что это сделать вполне реально, надо просто поэкспериментировать. Завтра будет такая возможность.
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. |
|
|
|
|
#4 |
|
Участник
|
Вот это не заметил, пропустил , Sorry. Тоже вариант. останется только это реализовать.
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. |
|
|
|
|
#5 |
|
Участник
|
Хорошая мысль. Как то так получается:
X++: public boolean selectControl(FormControl _control) { boolean ret; ; ret = super(_control); if (ret && _control.parentControl().name() == "Grid2") { curFieldId = _control.fieldBinding().fieldId(); } else { curFieldId = 0; } return ret; } |
|
|
|
| За это сообщение автора поблагодарили: S.Kuskov (1). | |
|
|
#6 |
|
Участник
|
Обьясните пожалуйста более подробней как это сделать
|
|
|
|
|
#7 |
|
Участник
|
Например, так
X++: public boolean selectControl(FormControl _control) { #GRD_sysDataBaseLogFixStack4Button // GRD_sysDataBaseLogfixStack_pkoz // pkoz 19.05.2011 boolean ret; ; // GRD_sysDataBaseLogfixStack_pkoz // pkoz 19.05.2011 --> // if (GRD_isPkoz()) { //mes = strFMT("%1 : %2", Element.name(), _control.name()); //info::messageWinAddLine(mes); // info::messageWinAddLine( strFMT("%1 : %2 : %3", Element.name(), _control.name(), ret)); /* info::messageWinAddLine( strFMT("%1 : %2 : %3 : %4", this ? this.name() : "", _control ? _control.name() : "", ret, classid2Name(_control ? _control.handle() : 0) )); */ if (_control) { switch (_control.handle()) { case classNum(FormButtonControl) : // button case classNum(FormCommandButtonControl) : // commandButton case classNum(FormFunctionButtonControl) : // menuItem case classNum(FormMenuButtonControl) : // MenuButton if (infolog) { infolog.globalCache().set(#GRD_FixStack4Button, #GRD_FixStack4ButtonMainKey, [ this ? this.name() : "", _control ? _control.name() : "", _control ? _control.id() : 0, ret ]); } break; } } } // GRD_sysDataBaseLogfixStack_pkoz // pkoz 19.05.2011 <-- ret = super(_control); return ret; } |
|
|
|
| За это сообщение автора поблагодарили: S.Kuskov (5). | |