Boîtes de dialogue (boîtes de dialogue)

Une boîte de dialogue est une fenêtre temporaire créée par une application pour récupérer les entrées utilisateur. Une application utilise généralement des boîtes de dialogue pour inviter l’utilisateur à fournir des informations supplémentaires sur les éléments de menu. Une boîte de dialogue contient généralement un ou plusieurs contrôles (fenêtres enfants) avec lesquels l’utilisateur entre du texte, choisit des options ou dirige l’action.

Windows fournit également des boîtes de dialogue prédéfinies qui prennent en charge les éléments de menu courants tels que Ouvrir et Imprimer. Les applications qui utilisent ces éléments de menu doivent utiliser les boîtes de dialogue courantes pour demander cette entrée utilisateur, quel que soit le type d’application.

Dans cette section

Nom Description
À propos des boîtes de dialogue Traite de l’utilisation des boîtes de dialogue dans l’interface utilisateur de vos applications.
Considérations relatives à la programmation des boîtes de dialogue Cette vue d’ensemble présente certaines considérations relatives à la programmation concernant les boîtes de dialogue.
Utilisation de boîtes de dialogue Vous utilisez des boîtes de dialogue pour afficher des informations et demander une entrée de l’utilisateur.
Informations de référence sur la boîte de dialogue Informations de référence sur l’API
Bibliothèque de boîtes de dialogue commune Traite de l’utilisation des boîtes de dialogue courantes dans l’interface utilisateur de vos applications.

Fonctions de boîte de dialogue

Nom Description
CreateDialog Crée une boîte de dialogue sans mode à partir d’une ressource de modèle de boîte de dialogue.
CreateDialogIndirect Crée une boîte de dialogue sans mode à partir d’un modèle de boîte de dialogue en mémoire.
CreateDialogIndirectParam Crée une boîte de dialogue sans mode à partir d’un modèle de boîte de dialogue en mémoire. Avant d’afficher la boîte de dialogue, la fonction transmet une valeur définie par l’application à la procédure de boîte de dialogue en tant que paramètre lParam du message WM_INITDIALOG . Une application peut utiliser cette valeur pour initialiser des contrôles de boîte de dialogue.
CreateDialogParam Crée une boîte de dialogue sans mode à partir d’une ressource de modèle de boîte de dialogue. Avant d’afficher la boîte de dialogue, la fonction transmet une valeur définie par l’application à la procédure de boîte de dialogue en tant que paramètre lParam du message WM_INITDIALOG . Une application peut utiliser cette valeur pour initialiser des contrôles de boîte de dialogue.
DefDlgProc Appelle la procédure de fenêtre de boîte de dialogue par défaut pour fournir un traitement par défaut pour tous les messages de fenêtre qu’une boîte de dialogue avec une classe de fenêtre privée ne traite pas.
DialogBox Crée une boîte de dialogue modale à partir d’une ressource de modèle de boîte de dialogue. DialogBox ne retourne pas le contrôle tant que la fonction de rappel spécifiée n’arrête pas la boîte de dialogue modale en appelant la fonction EndDialog .
DialogBoxIndirect Crée une boîte de dialogue modale à partir d’un modèle de boîte de dialogue en mémoire. DialogBoxIndirect ne retourne pas le contrôle tant que la fonction de rappel spécifiée met fin à la boîte de dialogue modale en appelant la fonction EndDialog .
DialogBoxIndirectParam Crée une boîte de dialogue modale à partir d’un modèle de boîte de dialogue en mémoire. Avant d’afficher la boîte de dialogue, la fonction transmet une valeur définie par l’application à la procédure de boîte de dialogue en tant que paramètre lParam du message WM_INITDIALOG . Une application peut utiliser cette valeur pour initialiser des contrôles de boîte de dialogue.
DialogBoxParam Crée une boîte de dialogue modale à partir d’une ressource de modèle de boîte de dialogue. Avant d’afficher la boîte de dialogue, la fonction transmet une valeur définie par l’application à la procédure de boîte de dialogue en tant que paramètre lParam du message WM_INITDIALOG . Une application peut utiliser cette valeur pour initialiser des contrôles de boîte de dialogue.
DialogProc Fonction de rappel définie par l’application utilisée avec les familles de fonctions CreateDialog et DialogBox . Il traite les messages envoyés à une boîte de dialogue modale ou sans mode. Le type DLGPROC définit un pointeur vers cette fonction de rappel. DialogProc est un espace réservé pour le nom de fonction défini par l’application.
EndDialog Détruit une boîte de dialogue modale, ce qui entraîne la fin du traitement de la boîte de dialogue par le système.
GetDialogBaseUnits Récupère les unités de base de boîte de dialogue du système, qui sont la largeur et la hauteur moyennes des caractères dans la police système. Pour les boîtes de dialogue qui utilisent la police système, vous pouvez utiliser ces valeurs pour convertir entre les unités de modèle de dialogue, comme spécifié dans les modèles de boîte de dialogue et les pixels. Pour les boîtes de dialogue qui n’utilisent pas la police système, la conversion d’unités de modèle de dialogue en pixels dépend de la police utilisée par la boîte de dialogue.
GetDlgCtrlID Récupère l’identificateur du contrôle spécifié.
GetDlgItem Récupère un handle dans un contrôle dans la boîte de dialogue spécifiée.
GetDlgItemInt Convertit le texte d’un contrôle spécifié dans une boîte de dialogue en valeur entière.
GetDlgItemText Récupère le titre ou le texte associé à un contrôle de boîte de dialogue.
GetNextDlgGroupItem Récupère un handle pour le premier contrôle d’un groupe de contrôles qui précède (ou suit) le contrôle spécifié dans une boîte de dialogue.
GetNextDlgTabItem Récupère un handle au premier contrôle qui a le style WS_TABSTOP qui précède (ou suit) le contrôle spécifié.
IsDialogMessage Détermine si un message est destiné à la boîte de dialogue spécifiée et, le cas échéant, traite le message.
MapDialogRect Convertit les unités de boîte de dialogue spécifiées en unités d’écran (pixels). La fonction remplace les coordonnées de la structure RECT spécifiée par les coordonnées converties, ce qui permet d’utiliser la structure pour créer une boîte de dialogue ou positionner un contrôle dans une boîte de dialogue.
MessageBox Affiche une boîte de dialogue modale qui contient une icône système, un ensemble de boutons et un bref message spécifique à l’application, tel que des informations de status ou d’erreur. La boîte de message retourne une valeur entière qui indique le bouton sur lequel l’utilisateur a cliqué.
MessageBoxEx Crée, affiche et utilise une boîte de message. La zone de message contient un message et un titre définis par l’application, ainsi que toute combinaison d’icônes prédéfinies et de boutons push. Les boutons sont dans la langue de l’interface utilisateur système.
MessageBoxIndirect Crée, affiche et utilise une boîte de message. La zone de message contient le texte et le titre du message défini par l’application, n’importe quelle icône et toute combinaison de boutons d’envoi prédéfinis.
SendDlgItemMessage Envoie un message au contrôle spécifié dans une boîte de dialogue.
SetDlgItemInt Définit le texte d’un contrôle dans une boîte de dialogue sur la représentation sous forme de chaîne d’une valeur entière spécifiée.
SetDlgItemText Définit le titre ou le texte d’un contrôle dans une boîte de dialogue.

Messages de boîte de dialogue

Nom Description
DM_GETDEFID Récupère l’identificateur du contrôle de bouton pousseur par défaut pour une boîte de dialogue.
DM_REPOSITION Repositionne une boîte de dialogue de niveau supérieur afin qu’elle s’intègre dans la zone du bureau. Une application peut envoyer ce message à une boîte de dialogue après le redimensionnement pour s’assurer que l’intégralité de la boîte de dialogue reste visible.
DM_SETDEFID Modifie l’identificateur du bouton pousseur par défaut d’une boîte de dialogue.

Notifications de boîte de dialogue

Nom Description
WM_CTLCOLORDLG Envoyé à une boîte de dialogue avant que le système dessine la boîte de dialogue. En répondant à ce message, la boîte de dialogue peut définir son texte et ses couleurs d’arrière-plan à l’aide du handle de contexte de périphérique d’affichage spécifié.
WM_ENTERIDLE Envoyé à la fenêtre propriétaire d’une boîte de dialogue modale ou d’un menu qui entre dans un état inactif. Une boîte de dialogue ou un menu modal passe à l’état inactif lorsqu’aucun message n’attend dans sa file d’attente après avoir traité un ou plusieurs messages précédents.
WM_GETDLGCODE Envoyé à la procédure de fenêtre associée à un contrôle. Par défaut, le système gère toutes les entrées clavier dans le contrôle ; le système interprète certains types d’entrée au clavier comme des touches de navigation de boîte de dialogue. Pour remplacer ce comportement par défaut, le contrôle peut répondre au message WM_GETDLGCODE pour indiquer les types d’entrée qu’il souhaite traiter lui-même.
WM_INITDIALOG Envoyé à la procédure de boîte de dialogue immédiatement avant l’affichage d’une boîte de dialogue. Les procédures de boîte de dialogue utilisent généralement ce message pour initialiser des contrôles et effectuer d’autres tâches d’initialisation qui affectent l’apparence de la boîte de dialogue.
WM_NEXTDLGCTL Envoyé à une procédure de boîte de dialogue pour définir le focus clavier sur un autre contrôle dans la boîte de dialogue.

Structures de boîte de dialogue

Nom Description
DLGITEMTEMPLATE Définit les dimensions et le style d’un contrôle dans une boîte de dialogue. Une ou plusieurs de ces structures sont combinées à une structure DLGTEMPLATE pour former un modèle standard pour une boîte de dialogue.
DLGITEMTEMPLATEEX Décrit une boîte de dialogue étendue. Pour obtenir une description du format d’un modèle de boîte de dialogue étendue, consultez DLGTEMPLATEEX.
DLGTEMPLATE Définit les dimensions et le style d’une boîte de dialogue. Cette structure, toujours la première d’un modèle standard pour une boîte de dialogue, spécifie également le nombre de contrôles dans la boîte de dialogue et, par conséquent, le nombre de structures DLGITEMTEMPLATE suivantes dans le modèle.
DLGTEMPLATEEX Un modèle de boîte de dialogue étendu commence par un en-tête DLGTEMPLATEEX qui décrit la boîte de dialogue et spécifie le nombre de contrôles dans la boîte de dialogue. Pour chaque contrôle d’une boîte de dialogue, un modèle de boîte de dialogue étendu a un bloc de données qui utilise le format DLGITEMTEMPLATEEX pour décrire le contrôle.
MSGBOXPARAMS Contient les informations utilisées pour afficher une boîte de message. La fonction MessageBoxIndirect utilise cette structure.