Список событий / уведомлений C ++ и методов обработки по умолчанию

StackOverflow https://stackoverflow.com/questions/1439455

  •  10-07-2019
  •  | 
  •  

Вопрос

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

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

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

Спасибо.

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top