Корисні можливості і меню

За допомогою корисної можливості, так само, як вибрати пункт меню: обидві дії призвести до системи, щоб відправити повідомлення WM_COMMAND або WM_SYSCOMMAND процедуру відповідного вікна. WM_COMMAND повідомлення містить ідентифікатор, який вікно процедура розглядає визначити джерело повідомлення. Якщо корисну можливість породжених WM_COMMAND повідомлення, ідентифікатор, що корисної можливості. Аналогічним чином, якщо елемент меню породжених WM_COMMAND повідомлення, ідентифікатор є пункт меню. Оскільки корисну можливість забезпечує ярлик для вибору команди з меню, програми зазвичай призначає тим самим ідентифікатором корисну можливість і відповідний елемент меню.

Програма обробляє повідомлення WM_COMMAND прискорювач точно так само, як відповідний елемент меню WM_COMMAND повідомлення. Однак, WM_COMMAND повідомлення містить прапор, який визначає, чи повідомлення виникла з корисної можливості або елемент меню, у випадку, якщо прискорювачі повинні обробляються по-різному, з їх відповідні елементи меню. WM_SYSCOMMAND повідомлення не містить цей прапор.

Ідентифікатор визначає, чи корисну можливість генерує повідомлення про WM_COMMAND або WM_SYSCOMMAND. Якщо ідентифікатор має те ж значення, як елемент меню в меню системи, прискорювача генерує повідомлення про WM_SYSCOMMAND. В іншому випадку прискорювача генерує повідомлення про WM_COMMAND.

Якщо корисну можливість є тим самим ідентифікатором, що елемент меню, і пункт меню сірим кольором або вимкнуто, корисну можливість вимкнуто а не генерує повідомлення WM_COMMAND або WM_SYSCOMMAND. Крім того, корисну можливість не генерує команду повідомлення Якщо відповідне вікно згорнуто.

Коли користувач використовує корисну можливість, яка відповідає елемент меню, вікна процедура отримує повідомлення WM_INITMENU і WM_INITMENUPOPUP , як ніби користувача було вибрано пункт меню. Інформацію про те, як обробляти ці повідомлення дивіться меню.

Корисну можливість, яка відповідає елемент меню повинні бути включені в тексті елемента меню.