Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Envoyé lorsque l’utilisateur appelle un élément de commande à partir d’un menu, lorsqu’un contrôle envoie un message de notification à sa fenêtre parente ou lorsqu’une séquence de touches d’accélérateur est traduite.
#define WM_COMMAND 0x0111
Paramètres
-
wParam
-
Pour obtenir une description de ce paramètre, consultez Remarques.
-
lParam
-
Pour obtenir une description de ce paramètre, consultez Remarques.
Valeur retournée
Si une application traite ce message, elle doit retourner zéro.
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;
}
Exemple extrait d’exemples Windows classiques sur GitHub.
Remarques
L’utilisation des paramètres wParam et lParam est résumée ici.
| Message Source | wParam (mot élevé) | wParam (mot bas) | lParam |
|---|---|---|---|
| Menu | 0 | Identificateur de menu (IDM_*) | 0 |
| Accélérateur | 1 | Identificateur d’accélérateur (IDM_*) | 0 |
| Contrôle | Code de notification défini par le contrôle | Identificateur de contrôle | Gérer la fenêtre de contrôle |
Menus
Dans la plupart des cas, il s’agit du message à écouter lorsqu’un utilisateur appelle une commande dans un menu. Toutefois, si un menu est défini avec une valeur MENUINFO.dwStyle de MNS_NOTIFYBYPOS, WM_MENUCOMMAND est envoyé au lieu de WM_COMMAND.
Si une application active un séparateur de menus, le système envoie un message WM_COMMAND avec le mot bas du paramètre wParam défini sur zéro lorsque l’utilisateur sélectionne le séparateur.
Accélérateurs
Les séquences de touches d’accélérateur qui sélectionnent des éléments dans le menu fenêtre sont traduites en messages WM_SYSCOMMAND .
Si une séquence de touches d’accélérateur se produit qui correspond à un élément de menu lorsque la fenêtre propriétaire du menu est réduite, aucun message WM_COMMAND n’est envoyé. Toutefois, si une séquence de touches d’accélérateur se produit qui ne correspond à aucun des éléments du menu de la fenêtre ou dans le menu de la fenêtre, un message WM_COMMAND est envoyé, même si la fenêtre est réduite.
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimal pris en charge |
Windows 2000 Professionnel [applications de bureau uniquement] |
| Serveur minimal pris en charge |
Windows 2000 Server [applications de bureau uniquement] |
| Header |
|