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 de retour

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 de retour est égale à 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.

Lorsque IsDialogMessage traite un message, il recherche les messages 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 touche flèche bas, lorsque vous appuyez, sélectionne le contrôle suivant dans un groupe.

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

IsDialogMessage envoie des messages WM_GETDLGCODE à 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 en tant que WM_USER et WM_USER + 1. Les conflits sont donc possibles avec les messages définis par l’application ayant les mêmes valeurs.

Note

L’en-tête winuser.h définit IsDialogMessage comme 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winuser.h (include 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

conceptuelle

DM_GETDEFID

DM_SETDEFID

boîtes de dialogue

DispatchMessage

msg

de référence

TranslateMessage

WM_GETDLGCODE

WM_USER