Узнайте, где была нажата мышь на CDialogBar - PullRequest
0 голосов
/ 20 марта 2012

У меня есть элемент управления, подкласс из CDialogBar, у него есть несколько кнопок (как на панели инструментов). Когда я ловлю WM_LBUTTONDOWN в классе CDialogBar, это простой способ узнать, была ли нажата мышь на одной из кнопок на элементе управления?

1 Ответ

1 голос
/ 20 марта 2012
Класс

CDialogBar обычно размещает обычные оконные элементы управления, поэтому при нажатии на кнопку в этом окне элемента управления отправляется сообщение WM_LBUTTONDOWN, а не класс диалогового окна. Поэтому, если вы хотите перехватить эти сообщения (если вы действительно это делаете), вам нужно либо создать подклассы окон и обработать их сообщения, либо установить перехват сообщений.

Вы также можете использовать инструмент Spy++, чтобы увидеть, какие сообщения эффективно достигают вашего окна интереса CDialogBar, и посмотреть, может ли их обработка решить вашу проблему.

...