COMMAND_HANDLER

COMMAND_HANDLER ( код, код, , func )

Параметри

id

[в] Ідентифікатор елемент меню, керування або прискорювач.

код

[в] Код повідомлення.

func

[в] Ім'я функції повідомлення обробника.

Зауваження

Визначає запис у мапі повідомлення. COMMAND_HANDLER карт в WM_COMMAND повідомлення на вказаний обробник функцію, на основі коду повідомлення та ідентифікатор елемента. Наприклад

клас CMyClass:...
{
готелю:
 nbsp; ...

BEGI&N_MSG_MAP(CMyClass)
      COMMAND_HANDLER (IDC_MYCTL, EN_CHANGE, OnChange)
      ...
   END_MSG_MAP()

/ / Коли CMyClass об'єкт отримує на WM_COMMAND
   / / повідомлення визначені IDC_MYCTL і EN_CHANGE,
   / / повідомлення спрямованих на CMyClass::OnChange
   / / для обробки фактична.
   LRESULT OnChange (...)
   { ... }

}

Будь-яка функція, зазначених у макросі COMMAND_HANDLER повинні визначені наступним чином:

LRESULT Comm&andHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOLamp; bHandled)

Повідомлення карта набори bHandled правда перед CommandHandler називається. Якщо CommandHandler не повністю впоратися повідомлення, його слід встановити bHandled ПОМИЛКОВИХ , щоб вказати, що повідомлення має подальша обробка.

Приміткаnbsp;  Завжди починаються з BEGI&N_MSG_MAPмапі повідомлення. Ви можете потім оголосити, подальше альтернативних повідомлення карти з ALT_MSG_MAP. END_MSG_MAP макрос означає кінець повідомлення карті. Кожна карта повідомлення повинні мати саме один екземпляр BEGIN_MSG_MAP і END_MSG_MAP.

На додаток до COMMAND_HANDLERвикористайте MESSAGE_HANDLER карта WM_COMMAND повідомлення без зв'язку з ідентифікатор або код. У цьому випадку, MESSAGE_HANDLER(WM_COMMAND, OnHandlerFunction) буде направляти всі повідомлення WM_COMMANDOnHandlerFunction.

Щоб отримати додаткові відомості про використання повідомлення карти в ATL перегляньте Повідомлення карти в статті "Класи вікон ATL".

ATL макроси та глобальні функції

Дивіться також

COMMAND_ID_HANDLER, COMMAND_CODE_HANDLER, COMMAND_RANGE_HANDLER, NOTIFY_HANDLER

Index