WM_COMMAND-Nachricht
Wird gesendet, wenn der bzw. die Benutzer*in ein Befehlselement aus einem Menü auswählt, wenn ein Steuerelement eine Benachrichtigung an das übergeordnete Fenster sendet oder wenn eine Tastenkombination übersetzt wird.
#define WM_COMMAND 0x0111
Parameter
-
wParam
-
Eine Beschreibung dieses Parameters finden Sie unter „Hinweise“.
-
lParam
-
Eine Beschreibung dieses Parameters finden Sie unter „Hinweise“.
Rückgabewert
Wenn eine Anwendung diese Meldung verarbeitet, sollte sie 0 (null) zurückgeben.
Beispiel
BOOL AboutDlg (
HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
BOOL bRet = FALSE;
switch (message)
{
case WM_INITDIALOG:
bRet = TRUE;
break;
case WM_COMMAND:
if (wParam == IDOK ||
wParam == IDCANCEL)
{
EndDialog(hDlg, TRUE);
bRet = TRUE;
}
break;
}
return bRet;
}
Beispiel aus Klassische Windows-Beispiele auf GitHub.
Hinweise
Die Verwendung der Parameter wParam und lParam wird hier zusammengefasst.
Nachrichtenquelle | wParam (höherwertiges Wort) | wParam (niederwertiges Wort) | lParam |
---|---|---|---|
Menü | 0 | Menübezeichner (IDM_*) | 0 |
Accelerator | 1 | Bezeichner der Tastenkombination (IDM_*) | 0 |
Control | Vom Steuerelement definierter Benachrichtigungscode | Steuerelementbezeichner | Handle für das Fenster des Steuerelements |
Menüs
Wenn eine Anwendung eine Menütrennlinie aktiviert, sendet das System eine WM_COMMAND-Nachricht mit dem niederwertigen Wort des wParam-Parameters, der auf 0 (null) festgelegt ist, wenn der bzw. die Benutzer*in die Trennlinie auswählt.
Wenn ein Menü mit einem MENUINFO.dwStyle-Wert von MNS_NOTIFYBYPOS definiert ist, wird WM_MENUCOMMAND anstelle von WM_COMMAND gesendet.
Schnellinfos
Tastenkombinationen, die Elemente aus dem Fenstermenü auswählen, werden in WM_SYSCOMMAND-Nachrichten übersetzt.
Wenn eine Tastenkombination auftritt, die einem Menüelement entspricht, wenn das Fenster, das das Menü besitzt, minimiert wird, wird keine WM_COMMAND-Nachricht gesendet. Wenn jedoch eine Tastenkombination auftritt, die nicht mit einem der Elemente im Menü des Fensters oder im Fenstermenü übereinstimmt, wird eine WM_COMMAND-Nachricht gesendet, auch wenn das Fenster minimiert ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|