NOTIFY_HANDLER ( код, cd, , func )
Параметри
id
[в] Ідентифікатор елемента керування надсилання повідомлення.
код
[в] Код повідомлення.
func
[в] Ім'я функції повідомлення обробника.
Зауваження
Визначає запис у мапі повідомлення. NOTIFY_HANDLER карт в WM_NOTIFY повідомлення на вказаний обробник функцію, на основі коду повідомлення та ідентифікатор елемента. Наприклад
клас CMyClass:...
{
готелю:
nbsp; ...
BEGI&N_MSG_MAP(CMyClass)
NOTIFY_HANDLER (IDC_MYCTL, NM_CLICK, OnClick)
...
END_MSG_MAP()
/ / Коли CMyClass об'єкт отримує на WM_NOTIFY
/ / повідомлення визначені IDC_MYCTL і NM_CLICK,
/ / повідомлення спрямованих на CMyClass::OnClick
/ / для обробки фактична.
LRESULT OnClick (...)
{ ... }
}
Будь-яка функція, зазначених у макросі NOTIFY_HANDLER повинні визначені наступним чином:
LRESULT NotifyH&andler(int idCtrl, LPNMHDR pnmh, BOOLamp; bHandled)
Повідомлення карта набори bHandled правда перед NotifyHandler називається. Якщо NotifyHandler не повністю впоратися повідомлення, його слід встановити bHandled ПОМИЛКОВИХ , щоб вказати, що повідомлення має подальша обробка.
Приміткаnbsp; Завжди починаються з BEGI&N_MSG_MAPмапі повідомлення. Ви можете потім оголосити, подальше альтернативних повідомлення карти з ALT_MSG_MAP. END_MSG_MAP макрос означає кінець повідомлення карті. Кожна карта повідомлення повинні мати саме один екземпляр BEGIN_MSG_MAP і END_MSG_MAP.
На додаток до NOTIFY_HANDLERвикористайте MESSAGE_HANDLER карта WM_NOTIFY повідомлення без зв'язку з ідентифікатор або код. У цьому випадку, MESSAGE_HANDLER(WM_NOTIFY, OnHandlerFunction) буде направляти всі повідомлення WM_NOTIFYOnHandlerFunction.
Щоб отримати додаткові відомості про використання повідомлення карти в ATL перегляньте Повідомлення карти в статті "Класи вікон ATL".
ATL макроси та глобальні функції
Дивіться також
NOTIFY_ID_HANDLER, NOTIFY_CODE_HANDLER, NOTIFY_RANGE_HANDLER, COMMAND_HANDLER