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.
Wysyłane, gdy użytkownik wywołuje element polecenia z menu, gdy kontrolka wysyła komunikat powiadomienia do okna nadrzędnego lub gdy naciśnięcie akceleratora jest tłumaczone.
#define WM_COMMAND 0x0111
Parametry
-
wParam
-
Aby uzyskać opis tego parametru, zobacz Uwagi.
-
lParam
-
Aby uzyskać opis tego parametru, zobacz Uwagi.
Wartość zwracana
Jeśli aplikacja przetwarza ten komunikat, powinna zwrócić zero.
Example
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;
}
Przykład pobrany z klasycznych przykładów systemu Windows w witrynie GitHub.
Uwagi
Poniżej przedstawiono podsumowanie parametrów wParam i lParam .
| Źródło komunikatów | wParam (wysoki wyraz) | wParam (niski wyraz) | lParam |
|---|---|---|---|
| Menu | 0 | Identyfikator menu (IDM_*) | 0 |
| Akcelerator | 1 | Identyfikator akceleratora (IDM_*) | 0 |
| Kontrola | Kod powiadomienia zdefiniowanego przez kontrolkę | Identyfikator kontrolki | Obsługa w oknie sterowania |
Menu
W większości przypadków jest to komunikat do nasłuchiwania, gdy użytkownik wywołuje polecenie w menu. Jeśli jednak menu jest zdefiniowane z wartością MENUINFO.dwStyleMNS_NOTIFYBYPOS, WM_MENUCOMMAND jest wysyłany zamiast WM_COMMAND.
Jeśli aplikacja włączy separator menu, system wysyła komunikat WM_COMMAND z małym wyrazem parametru wParam ustawionym na zero, gdy użytkownik wybierze separator.
Akceleratory
Naciśnięcia akceleratora, które wybierają elementy z menu okna, są tłumaczone na komunikaty WM_SYSCOMMAND .
Jeśli naciśnięcie akceleratora odpowiada elementowi menu, gdy okno będące właścicielem menu zostanie zminimalizowane, nie zostanie wysłany żaden komunikat WM_COMMAND . Jeśli jednak występuje naciśnięcie akceleratora, które nie pasuje do żadnego z elementów w menu okna lub w menu okna, zostanie wysłany komunikat WM_COMMAND , nawet jeśli okno zostanie zminimalizowane.
Requirements
| Wymaganie | Wartość |
|---|---|
| Minimalny obsługiwany klient |
Windows 2000 Professional [tylko aplikacje klasyczne] |
| Minimalny obsługiwany serwer |
Windows 2000 Server [tylko aplikacje klasyczne] |
| Header |
|