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