Обработка событий контролов без парента
От: Плотников Д. Россия  
Дата: 03.07.05 12:02
Оценка:
Здравствуйте!

Хотелось бы сделать обработку notification-сообщений виндовых контролов без wndproc родительского окна (нужно для кросс-платформенной библиотеки гуя). Т. е. обрабатывать эти сообщения должен бы мой класс Button. На win32 вообще такое можно сделать? Что-то мне ничего путного в голову не идет!

Буду рад любым предложениям, примерам и т. д.

P. S. Варианты с хуками или созданием вспомогательного окна есть, но хотелось бы чего-нибудь по красивее!
Re: Обработка событий контролов без парента
От: Stanky  
Дата: 03.07.05 13:40
Оценка:
> Буду рад любым предложениям, примерам и т. д.
>
Сабклассинг?
Posted via RSDN NNTP Server 1.9
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Re[2]: Обработка событий контролов без парента
От: Dimeon Россия  
Дата: 03.07.05 14:25
Оценка:
Здравствуйте, Stanky, Вы писали:

>> Буду рад любым предложениям, примерам и т. д.

>>
S>Сабклассинг?

Не пойдет. Мне нужно перехватывать не приходящие к контролу сообщения, а исходящие из него.

Неужели ставить хуки? На каждый контрол?..
Re[2]: Обработка событий контролов без парента
От: danclax  
Дата: 03.07.05 18:04
Оценка:
Здравствуйте, Stanky, Вы писали:

>> Буду рад любым предложениям, примерам и т. д.

>>
S>Сабклассинг?

Сабклассинг не поможет, т.к. даже при таком способе через процедуру обработки сообщений сообщения о нажатии на элемент вообще не приходят (я говорю о SysListView32). Это точно, сам мониторил. Там как будто у каждого элемента в списке свой класс. Поэтому этот элемент и некоторые другие точно таким способом сабклассировать не получиться.
Re: Обработка событий контролов без парента
От: Toughpheeckouse Россия  
Дата: 03.07.05 19:49
Оценка:
Здравствуйте, Плотников Д., Вы писали:

ПД>Здравствуйте!


ПД>Хотелось бы сделать обработку notification-сообщений виндовых контролов без wndproc родительского окна (нужно для кросс-платформенной библиотеки гуя). Т. е. обрабатывать эти сообщения должен бы мой класс Button. На win32 вообще такое можно сделать? Что-то мне ничего путного в голову не идет!


ПД>Буду рад любым предложениям, примерам и т. д.


ПД>P. S. Варианты с хуками или созданием вспомогательного окна есть, но хотелось бы чего-нибудь по красивее!


посмори как это сделанно в WTL
смотри на макросы:
REFLECTION_

без winproc парента не обойтись. в данной постановке задачи.
Думайте сами, решайте сами...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.