Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wird an das Besitzerfenster eines Menüs gesendet, wenn der Benutzer ein Menüelement auswählt.
#define WM_MENUSELECT 0x011F
Die Parameter
-
wParam
-
Das Wort mit niedriger Reihenfolge gibt das Menüelement oder den Untermenüindex an. Wenn das ausgewählte Element ein Befehlselement ist, enthält dieser Parameter den Bezeichner des Menüelements. Wenn das ausgewählte Element ein Dropdownmenü oder untermenü öffnet, enthält dieser Parameter den Index des Dropdownmenüs oder Untermenüs im Hauptmenü, und der lParam-Parameter enthält das Handle für das Hauptmenü; verwenden Sie die GetSubMenu-Funktion , um das Menühandle zum Dropdownmenü oder Untermenü abzurufen.
Das Wort mit hoher Reihenfolge gibt ein oder mehrere Menükennzeichnungen an. Dieser Parameter kann einen oder mehrere der folgenden Werte sein.
Wert Bedeutung - MF_BITMAP
- 0x00000004L
Das Element zeigt eine Bitmap an. - MF_CHECKED
- 0x00000008L
Element ist aktiviert. - MF_DISABLED
- 0x000000002L
Element ist deaktiviert. - MF_GRAYED
- 0x00000001L
Das Element ist grau dargestellt. - MF_HILITE
- 0x00000080L
Das Element ist hervorgehoben. - MF_MOUSESELECT
- 0x00008000L
Das Element wird mit der Maus ausgewählt. - MF_OWNERDRAW
- 0x00000100L
Element ist ein vom Besitzer gezeichnetes Element. - MF_POPUP
- 0x000000010L
Das Element öffnet ein Dropdownmenü oder untermenü. - MF_SYSMENU
- 0x00002000L
Das Element ist im Fenstermenü enthalten. Der lParam-Parameter enthält ein Handle für das Menü, das der Nachricht zugeordnet ist. -
lParam
-
Ein Handle zum Hauptmenü.
Rückgabewert
Wenn eine Anwendung diese Meldung verarbeitet, sollte sie Null zurückgeben.
Bemerkungen
Diese Nachricht wird an das Besitzerfenster eines Menüs gesendet, wenn der Benutzer ein Menüelement in einem geöffneten Menü auswählt, in der Regel durch Maus- oder Tastaturnavigation. Wenn das Menü geschlossen ist, wird diese Nachricht nicht gesendet, wenn der Benutzer die Maus über ein Menüelement der obersten Ebene bewegt. Diese Nachricht wird erst gesendet, nachdem das Menü geöffnet wurde, indem der Benutzer auf ein Menüelement der obersten Ebene klickt oder die ALT-TASTE drückt.
Von Bedeutung
Wenn ein Benutzer auf ein Menüelement klickt oder die EINGABETASTE drückt, um ein ausgewähltes Menüelement aufzurufen, wird abhängig vom Wert des dwStyle-Elements der MENUINFO-Struktur für das Menü eine WM_COMMAND oder WM_MENUCOMMAND Nachricht an das Fenster gesendet. Verwenden Sie diese Nachrichten, um eine Aktion auszuführen, wenn der ausgewählte Befehl aufgerufen wird.
Wenn das Hochreihenfolgewort von wParam 0xFFFF enthält und der lParam-ParameterNULL enthält, hat das System das Menü geschlossen.
Verwenden Sie nicht den Wert -1 für das Wort mit hoher Reihenfolge von wParam, da dieser Wert als (UINT) HIWORD(wParam) angegeben wird. Obwohl 0xFFFF in signierten Kontexten als -1 interpretiert werden können, wird der Wert 0xFFFF aufgrund der Umwandlung in einen UINT als 0x0000FFFF und nicht als -1 interpretiert.
In diesem Code wird z. B. auf 0xFFFF und nicht auf -1 überprüft:
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;
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindest unterstützter Client |
Windows 2000 Professional [nur Desktop-Apps] |
| Unterstützter Mindestserver |
Windows 2000 Server [nur Desktop-Apps] |
| Header |
|
Siehe auch
-
Referenz
-
Konzeptionell