Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wysłane do okna właściciela menu, gdy użytkownik wybierze element menu.
#define WM_MENUSELECT 0x011F
Parametry
-
wParam
-
Wyraz o niskiej kolejności określa element menu lub indeks podrzędny. Jeśli wybrany element jest elementem polecenia, ten parametr zawiera identyfikator elementu menu. Jeśli wybrany element otworzy menu rozwijane lub podmenu, ten parametr zawiera indeks menu rozwijanego lub podmenu w menu głównym, a parametr lParam zawiera uchwyt do menu głównego; użyj funkcji GetSubMenu , aby pobrać uchwyt menu do menu rozwijanego lub podmenu.
Wyraz o wysokiej kolejności określa co najmniej jedną flagę menu. Ten parametr może być co najmniej jedną z następujących wartości.
Wartość Meaning - MF_BITMAP
- 0x00000004L
Element wyświetla mapę bitową. - MF_CHECKED
- 0x000000008L
Element jest zaznaczony. - MF_DISABLED
- 0x00000002L
Element jest wyłączony. - MF_GRAYED
- 0x00000001L
Element jest szary. - MF_HILITE
- 0x00000080L
Element jest wyróżniony. - MF_MOUSESELECT
- 0x000080000L
Element jest zaznaczony za pomocą myszy. - MF_OWNERDRAW
- 0x00000100L
Element jest elementem rysowanym przez właściciela. - MF_POPUP
- 0x00000010L
Element otwiera menu rozwijane lub podmenu. - MF_SYSMENU
- 0x00002000L
Element jest zawarty w menu okna. Parametr lParam zawiera uchwyt do menu skojarzonego z komunikatem. -
lParam
-
Uchwyt do menu głównego.
Wartość zwracana
Jeśli aplikacja przetwarza ten komunikat, powinna zwrócić zero.
Uwagi
Ta wiadomość jest wysyłana do okna właściciela menu, gdy użytkownik wybierze element menu w otwartym menu, zazwyczaj za pomocą myszy lub nawigacji za pomocą klawiatury. Jeśli menu zostanie zamknięte, ten komunikat nie zostanie wysłany, gdy użytkownik przenosi wskaźnik myszy nad elementem menu najwyższego poziomu. Ta wiadomość jest wysyłana dopiero po otwarciu menu przez użytkownika klikając element menu najwyższego poziomu lub naciskając ALT .
Ważne
Gdy użytkownik kliknie element menu lub naciśnie Enter , aby wywołać wybrany element menu, WM_COMMAND lubWM_MENUCOMMAND komunikat jest wysyłany do okna, w zależności od wartości elementu członkowskiego dwStyle struktury MENUINFO dla menu. Użyj tych komunikatów, aby wykonać akcję po wywołaniu wybranego polecenia.
Jeśli wyraz o wysokiej kolejności wParam zawiera 0xFFFF, a parametr lParam zawiera wartość NULL, system zamknął menu.
Nie należy używać wartości -1 dla słowa o wysokiej kolejności wParam, ponieważ ta wartość jest określona jako (UINT) HIWORD(wParam). Mimo że 0xFFFF można interpretować jako -1 w podpisanych kontekstach, jeśli wartość jest 0xFFFF, będzie interpretowana jako 0x0000FFFF, a nie -1, ze względu na rzutowanie do interfejsu użytkownika.
Na przykład ten kod sprawdza 0xFFFF, a nie -1:
case WM_MENUSELECT:
{
UINT menuItem = LOWORD(wParam);
UINT flags = HIWORD(wParam);
HMENU hMenu = (HMENU)lParam;
// Check for 0xFFFF, not -1.
if (flags == 0xFFFF && hMenu == NULL) {
// No menu item selected (menu closed).
// ...
}
break;
}
Requirements
| Wymaganie | Wartość |
|---|---|
| Minimalny obsługiwany klient |
Windows 2000 Professional [tylko aplikacje klasyczne] |
| Minimalny obsługiwany serwer |
Windows 2000 Server [tylko aplikacje klasyczne] |
| Header |
|
Zobacz także
-
Referencja
-
Koncepcje