_Message de commande WM
Envoyé lorsque l’utilisateur sélectionne un élément de commande dans un menu, lorsqu’un contrôle envoie un message de notification à sa fenêtre parente, ou lorsqu’une touche d’accès rapide est traduite.
#define WM_COMMAND 0x0111
Paramètres
-
wParam
-
Pour obtenir une description de ce paramètre, consultez la section Notes.
-
lParam
-
Pour obtenir une description de ce paramètre, consultez la section Notes.
Valeur retournée
Si une application traite ce message, elle doit retourner la valeur zéro.
Exemple
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 tiré d' Windows exemples classiques sur GitHub.
Remarques
L’utilisation des paramètres wParam et lParam est résumée ici.
| Source du message | 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ôler | Code de notification défini par le contrôle | Identificateur de contrôle | Handle vers la fenêtre de contrôle |
Menus
Si une application active un séparateur de menu, le système envoie un message de _ commande WM avec le mot de poids faible du paramètre wParam défini sur zéro lorsque l’utilisateur sélectionne le séparateur.
Si un menu est défini avec une valeur MENUINFO. dwStyle de MNS _ NOTIFYBYPOS, WM _ MENUCOMMAND est envoyé à la place de la _ commande WM.
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 touche d’accès rapide qui correspond à un élément de menu se produit lorsque la fenêtre qui possède le menu est réduite, aucun message de _ commande WM n’est envoyé. Toutefois, si une frappe de touche d’accès rapide ne correspond à aucun des éléments du menu de la fenêtre ou du menu fenêtre, un message de _ commande WM est envoyé, même si la fenêtre est réduite.
Configuration requise
| Condition requise | 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] |
| En-tête |
|