Wiadomości z menu

System raportuje czynności związane z menu, wysyłając wiadomości do procedury okna okna, który jest właścicielem menu. System wysyła serię wiadomości, gdy użytkownik zaznaczy elementów na pasku menu lub kliknie przycisk prawym przyciskiem myszy, aby wyświetlić menu skrótów.

Gdy użytkownik aktywuje element na pasku menu, okno właściciela najpierw odbiera wiadomość WM_SYSCOMMAND . Ta wiadomość zawiera flagi, które wskazuje, czy użytkownik aktywowane menu za pomocą klawiatury (SC_KEYMENU) lub myszy (SC_MOUSEMENU). Aby uzyskać więcej informacji zobacz temat Klawiatury dostęp do menu.

Dalej przed wyświetleniem wszystkie menu, systemu wysyła komunikat WM_INITMENU procedury okna tak, aby aplikacja może modyfikować menu, zanim użytkownik widzi je. System wysyła komunikat WM_INITMENU, tylko raz na menu aktywacji.

Kiedy punktów użytkownika do pozycji menu, która spowoduje otwarcie podmenu, system wysyła okno właściciel WM_INITMENUPOPUP wiadomość przed wyświetleniem podmenu. Komunikat ten daje aplikacji możliwość modyfikowania podmenu, przed wyświetleniem.

Ilekroć użytkownik przesuwa wyróżnienie z jednego elementu do innego, system wysyła komunikat WM_MENUSELECT procedurze okno menu właściciela okna. Komunikat ten identyfikuje element aktualnie wybranego menu. Wiele aplikacji zapewniają obszaru informacyjnego w dolnej części ich głównego systemu windows i umożliwia wyświetlanie dodatkowych informacji o towarze wybranym menu tej wiadomości.

Jeśli użytkownik wybierze element polecenia z menu, system wysyła wiadomość WM_COMMAND procedurę okna. Słowo znaczący komunikat WM_COMMAND wParam parametr zawiera identyfikator wybranego elementu. Procedurę okna należy zbadać identyfikatora i odpowiednio przetworzyć wiadomość.

Nie wszystkie menu są dostępne za pośrednictwem paska menu Okno. Wiele aplikacji wyświetlić menu skrótów, gdy użytkownik kliknie przycisk prawym przyciskiem myszy w określonej lokalizacji. Takie wnioski należy przetwarzać wiadomości WM_CONTEXTMENU i wyświetlić menu skrótów, jeśli właściwe. Jeśli aplikacja nie wyświetla menu skrótów, należy przekazać wiadomości WM_CONTEXTMENU do funkcji DefWindowProc dla przetwarzania domyślne.

Index