Повідомлення, які використовуються з меню

Система звітів меню, пов'язані з діяльністю на надсилання повідомлень до вікна процедури вікна, що володіє меню. Система надсилає серію повідомлень, коли користувач вибирає елементів рядка меню або клацання правою кнопкою миші для відображення контекстного меню.

Коли користувач активує елемент на панелі меню, вікна власник вперше отримує WM_SYSCOMMAND повідомлення. Це повідомлення містить прапор, який вказує, чи користувач активується у меню за допомогою клавіатури (SC_KEYMENU) або миші (SC_MOUSEMENU). Докладніше перегляньте Клавіатури доступ до меню.

Далі, перед відображенням будь-якого меню, система надсилає повідомлення WM_INITMENU процедура вікна так, що програми можна змінити меню, перш ніж користувач бачить їх. Система надішле повідомлення WM_INITMENU тільки один раз, за Активація меню.

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

Кожного разу, коли користувач переміщує виділення з одного пункту до іншого, система надсилання WM_MENUSELECT повідомлення вікно процедуру у меню вікно власника. Це повідомлення ідентифікує меню вибраного елемента. Багато додатків надати інформацію області в нижній частині їх основних вікон і використовувати це повідомлення для відображення додаткових відомостей про елемент виділеного меню.

Коли користувач вибирає команду елемент меню, система надсилає повідомлення WM_COMMAND у вікно порядку. Низька замовлення слово WM_COMMAND повідомлення wParam параметр містить ідентифікатор вибраного елемента. Процедура вікна повинні вивчити ідентифікатор і відповідним чином обробити повідомлення.

Не всі меню доступні через меню вікна. Багато додатків відображення контекстних меню після клацання правою кнопкою миші в певному місці. Такі програми повинні обробляти повідомлення WM_CONTEXTMENU і відображення контекстного меню, якщо відповідні. Якщо програма не відображається контекстне меню, він повинен передати повідомлення WM_CONTEXTMENU DefWindowProc функції для обробки за промовчанням.

Index