![]() |
|
|
![]()
|
|
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 4 Всего: 56 |
Здравствуйте,
У меня есть класс в конструкторе которого передается указатель на окно, в этом классе создаются все необходимые контролы. Вопрос: как мне обработать события от контролов созданных, не в классе окна? т.е как мне можно загнать инфу о моих контролах в message_map? |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Если я правильно поняла.
Переопредели функцию OnCmdMsg родительского окна; вызови сначала OnCmdMsg твоего объекта - он, естественно, должен быть доступен в окне. Тогда все сообщения WM_COMMAND, WM_NOTIFY и апдейты можно будет поместить в message-map твоего класса - он должен быть наследником как минимум CmdTarget. -------------------- ... |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 4 Всего: 56 |
Earnest, он не является наследником ни одного из виндовых классов, это просто класс в котором инкопсулируется создание контролов. Причем мне надо обработать сообщения от контролов в этом классе, а все остальны сообщения окна(меню например) в основном. Можно ли допустим написать метод этого класса, а потом его вызвать в карте сообщений окна родителя?
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Так сделай его наследником, если хочешь обрабатывать в нем сообщения!
Как минимум CCmdTarget. Или забудь про карты сообщений и пиши всю эту лабуду сам, руками...
НЕТ. Можно написать в окне обработчик, из которого вызвать метод твоего класса. И так 20 раз - сколько там у тебя контролов * на различные уведомления от них? А сделав класс CCmdTarget, ты спокойно в его карте обрабатываешь все, что тебе нужно (но только уведомления!), а окно обрабатывает все остальное. -------------------- ... |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 4 Всего: 56 |
Earnest, спасибо за обьяснение
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |