Re: UIActivate и UIDeactivate
От: Sergey Россия  
Дата: 01.10.02 11:04
Оценка: 12 (1)
Здравствуйте Vishen, Вы писали:

V>Кто должен отвечать за сабж — контейнер или сами контролы?


Контейнер дергает за IOleInPlaceObject::UIDeactivate контролов.

V>Я покопался в mfc, там вроде бы UIDeActivate делает контейнер посредством

V>отлова WM_KILLFOCUS в PreTranslateMessage для всех контролов.

V>А что делать когда PreTranslateMessage нет — например когда несколько activeX живут на другом activeX


Ну дык тот контрол, который контейнер, не перестает быть контролом и может расчитывать на то, что его контейнер вовремя вызовет у него метод IOleInPlaceObject::UIDeactivate
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
UIActivate и UIDeactivate
От: Vishen  
Дата: 01.10.02 10:28
Оценка:
Кто должен отвечать за сабж — контейнер или сами контролы?
Я покопался в mfc, там вроде бы UIDeActivate делает контейнер посредством
отлова WM_KILLFOCUS в PreTranslateMessage для всех контролов.

А что делать когда PreTranslateMessage нет — например когда несколько activeX живут на другом activeX
Re[2]: UIActivate и UIDeactivate
От: Vishen  
Дата: 01.10.02 11:28
Оценка:
S>Ну дык тот контрол, который контейнер, не перестает быть контролом и может S>расчитывать на то, что его контейнер вовремя вызовет у него метод S>IOleInPlaceObject::UIDeactivate

Это то понятно, а как быть с теми контролами которые живут контроле-контейнере,
кто и откуда будет им вызывать IOleInPlaceObject::UIDeactivate ?
Re[3]: UIActivate и UIDeactivate
От: Sergey Россия  
Дата: 01.10.02 11:31
Оценка:
Здравствуйте Vishen, Вы писали:


S>>Ну дык тот контрол, который контейнер, не перестает быть контролом и может S>расчитывать на то, что его контейнер вовремя вызовет у него метод S>IOleInPlaceObject::UIDeactivate


V>Это то понятно, а как быть с теми контролами которые живут контроле-контейнере,

V>кто и откуда будет им вызывать IOleInPlaceObject::UIDeactivate ?

Ну так я и говорю — контроле-контейнере и должен в своем "контрольском" методе помнить, что он еще и контейнер и вызывать UIDeactivate дочерних контролов.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.