|
|
|
| Привет всем!
Есть Форма А (обычная) и Форма В (PopUp). Ту или иную пользователь делает активной.
Как перехватить Aktivate / Deaktivate формы В? Lukas, это продолжение моего предыдущего вопроса "2003". К сожалению я не могу отказаться от свойства PopUp - придется много переделывать. Такую дискуссию на каком-то форуме я видел, но не с моим английским и терпением можно было это дешифровать.
Благодарю заранее. | |
|
| |
|
|
|
| Чтобы реагировать на то или иное событие экземпляра класса,
нужно подписаться на это событие в другом экземпляре класса.
Сейчас занят, но если опишите подробнее,
где нужно слушать события Aktivate / Deaktivate формы В,
вечером отпишусь. | |
|
| |
|
|
|
| Lukas, я совсем темный. Что значит подписаться?
Просто в Sub Процедуре Activate/Deaktivate Формы 2 я хотел бы изменить атрибуты некоторых
элементов Формы1 (ForeColor, Caрtion, ну и т.д. Это выглядело бы логично. И пользователь точно знал бы, какая из форм активна. Одна из форм принимает данные c Choice элемента,
другая настроена на сканер. Не лучшее решение, но это исторически сложилось и упрощать нет сил и желания. В общем и так все работает вполне прилично, но новые сотрудники (как говорят) иногда плохо ориентируются. | |
|
| |
|
|
|
| Да, с PopUp формой Activate/Deaktivate не срабатывает.
Попытался поиграться с чтением системных сообщений,
но мастерства не хватило. (аккурат на половину) :)
Может попытаться пойти по другому пути? | |
|
| |
|
|
|
| А вы уверены, что у PopUp формы возникают события Aktivate / Deaktivate? | |
|
| |
|
|
|
|
| см. http://msdn.microsoft.com/en-us/library/aa158546(office.10).aspx
Note The Activate event doesn't occur when a form receives focus back from a dialog box, popup, or another form. The Deactivate event doesn't occur when a form or report loses the focus to a dialog box, to a form for which the property is set to Yes, or to a window in another application
|
| |
|
| |
|
|
|
| Спасибо, AlexSyr! Страничка очень убедительная. Позже попробую позкспериментироваь. | |
|
| |