Partager via


IsDialogMessageA, fonction (winuser.h)

Détermine si un message est destiné à la boîte de dialogue spécifiée et, le cas échéant, traite le message.

Syntaxe

BOOL IsDialogMessageA(
  [in] HWND  hDlg,
  [in] LPMSG lpMsg
);

Paramètres

[in] hDlg

Type : HWND

Handle de la boîte de dialogue.

[in] lpMsg

Type : LPMSG

Pointeur vers une structure MSG qui contient le message à vérifier.

Valeur retournée

Type : BOOL

Si le message a été traité, la valeur de retour est différente de zéro.

Si le message n’a pas été traité, la valeur renvoyée est zéro.

Remarques

Bien que la fonction IsDialogMessage soit destinée aux boîtes de dialogue sans mode, vous pouvez l’utiliser avec n’importe quelle fenêtre contenant des contrôles, ce qui permet aux fenêtres de fournir la même sélection de clavier que celle utilisée dans une boîte de dialogue.

Quand IsDialogMessage traite un message, il recherche les messages du clavier et les convertit en sélections pour la boîte de dialogue correspondante. Par exemple, la touche TAB, lorsqu’elle est enfoncée, sélectionne le contrôle ou le groupe de contrôles suivant, et la flèche vers le bas, lorsqu’elle est enfoncée, sélectionne le contrôle suivant dans un groupe.

Étant donné que la fonction IsDialogMessage effectue toutes les traductions et distributions nécessaires des messages, un message traité par IsDialogMessage ne doit pas être passé à la fonction TranslateMessage ou DispatchMessage .

IsDialogMessage envoie WM_GETDLGCODE messages à la procédure de boîte de dialogue pour déterminer les clés à traiter.

IsDialogMessage peut envoyer des messages DM_GETDEFID et DM_SETDEFID à la fenêtre. Ces messages sont définis dans le fichier d’en-tête Winuser.h comme WM_USER et WM_USER + 1. Des conflits sont donc possibles avec les messages définis par l’application ayant les mêmes valeurs.

Notes

L’en-tête winuser.h définit IsDialogMessage comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

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]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll
Ensemble d’API ext-ms-win-ntuser-dialogbox-l1-1-3 (introduit dans Windows 10, version 10.0.14393)

Voir aussi

Conceptuel

DM_GETDEFID

DM_SETDEFID

Boîtes de dialogue

DispatchMessage

MSG

Référence

TranslateMessage

WM_GETDLGCODE

WM_USER