|
![]() |
#1 |
Administrator
|
Независимо от того, подкладываете ли вы форму - или создаете контролы динамически - форма есть. Это либа Ваша форма - либо форма Dialog. Что мешает ввести некий параметр типа parmShowModal() ? Вводить нужно очевидно на классе RunBase. Соответственно - на форме Dialog и на своей форме - перекрываете метод close() (и не нужно его создавать динамически) - и делаете проверку в нем аналогично как показал raz:
X++: if (element.runbase().parmShowModal()) { setFormModal(element.hWnd(), false); } super();
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 14.02.2006 в 09:29. |
|
![]() |
#2 |
Участник
|
Спасибо за комментарии. Но...
Модальность я могу включать/отключать у диалога - в этом нет проблемы. Проблема как раз в том, что я не могу выключить модальность именно при закрытии формы диалога этим самым крестиком. В этом случае вызывается метод close у _формы_, но не в коем случае не dialog.close(). У каждой формы в close() отключать модальность неправильно - это функция диалога. Поэтому, я хочу сделать так, чтобы Dialog умел перехватывать close() формы. В обычном сценарии dialog сам же вызывает form.close() по нажатию диалоговой кнопки. Крестик же он обрабатывать не умеет... Если идти по пути перехватывания метода формы, то встает вопрос, можно ли по аналогии с переопределением обработчиков методов контролов (formRun.controlMethodOverload(true)) переопределять обработку методов самой формы... Чтобы было понятно добавлю, что я хочу сделать так, чтобы именно сам dialog (а не форма, которую я ему подсовываю) мог по нажатию крестика отключать модальность у своей формы. Т.е. я хочу сделать чтобы это работало вообще для всех форм, которые использует диалог, без принудительного отключения модальности непосредственно в close() формы. Последний раз редактировалось Romb; 14.02.2006 в 10:44. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|