Message WM_COMMAND
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 séquence de touches d’accélérateur est traduite.
#define WM_COMMAND 0x0111
Paramètres
-
wParam
-
Pour une description de ce paramètre, consultez Remarques.
-
lParam
-
Pour une description de ce paramètre, consultez Remarques.
Valeur retournée
Si une application traite ce message, elle doit retourner à 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é des exemples classiques Windows sur GitHub.
Notes
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 |
Control | Code de notification défini par le contrôle | Identificateur de contrôle | Descripteur de la fenêtre de contrôle |
Menus
Si une application active un séparateur de menu, 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.
Si un menu est défini avec une valeur MENUINFO.dwStyle de MNS_NOTIFYBYPOS, WM_MENUCOMMAND est envoyé au lieu de WM_COMMAND.
Accélérateurs
Les séquences de touches d’accélérateur qui sélectionnent des éléments dans le menu de la 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
Condition requise | Value |
---|---|
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 |
|
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour