NOTIFY_HANDLER

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

Index