C ++ События / Уведомления и Список методов обработки по умолчанию - PullRequest
0 голосов
/ 17 сентября 2009

Есть ли какой-нибудь список C ++ событий / уведомлений и списка методов обработки по умолчанию. Например, было бы полезно знать, что по умолчанию уведомление HDN_DIVIDERDBLCLICK обычно обрабатывается методом CWnd :: OnLButtonDblClk.

Это облегчит поиск правильного метода при желании вызвать его, когда вы напишите свой собственный обработчик для уведомления.

В настоящее время я не могу найти простой способ найти эту информацию.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 17 сентября 2009

Боюсь, что проблема может заключаться в том, что не существует полного графика текущих обработчиков для приложения, в данных, которые вы МОЖЕТЕ запросить.

Я не знаю, изменилась ли базовая реализация за последние пару лет, но раньше MFC присваивал назначения обработчикам сообщений в статических массивах данных.

Из базовых массивов будет передано сообщение соответствующему методу кода пользователя.

Однако на этом этапе метод кода пользователя может обрабатывать или передавать другой код для обработки сообщения.

Аналогично, приложения могут определять всю структуру управления для этого in-кода.

Внедренные функции или другие системные изменения также могут изменить это поведение (подумайте, менеджеры горячих клавиш, такого рода вещи).

Было бы здорово услышать, что кто-то с более поздними знаниями знает о каком-то MFC-фу.

0 голосов
/ 17 сентября 2009

На этой странице в MSDN перечислены сообщения WM_XXX и подписи соответствующих методов-обработчиков.

Для уведомлений, которые отправляются элементами управления, вы можете посмотреть на странице документации для элемента управления. Так, например, документация для HDN_DIVIDERDBLCLICK находится на справочной странице для CHeaderCtrl (см. Также эта страница , в которой кратко говорится, что они обрабатываются функцией обработчика OnChildNotify).

...