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 d’utilisateur. En général, une application utilise des boîtes de dialogue pour inviter l’utilisateur à fournir des informations supplémentaires pour 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 des é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 communes 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 décrit quelques considérations relatives à la programmation concernant les boîtes de dialogue.
Utilisation des boîtes de dialogue Vous utilisez les boîtes de dialogue pour afficher des informations et inviter l’utilisateur à entrer des informations.
Informations de référence sur les boîtes de dialogue Informations de référence sur l’API
Bibliothèque de boîtes de dialogue communes 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 non modale à partir d’une ressource de modèle de boîte de dialogue.
CreateDialogIndirect Crée une boîte de dialogue non modale à partir d’un modèle de boîte de dialogue en mémoire.
CreateDialogIndirectParam Crée une boîte de dialogue non modale à partir d’un modèle de boîte de dialogue en mémoire. Avant d’afficher la boîte de dialogue, la fonction passe 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 non modale à partir d’une ressource de modèle de boîte de dialogue. Avant d’afficher la boîte de dialogue, la fonction passe 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 le 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 de contrôle tant que la fonction de rappel spécifiée n’a pas terminé 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 de contrôle tant que la fonction de rappel spécifiée n’a pas terminé 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 passe 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 passe 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 non modale. Le type DLGPROC définit un pointeur vers cette fonction de rappel. DialogProc est un espace réservé pour le nom de la fonction définie par l’application.
EndDialog Détruit une boîte de dialogue modale, provoquant ainsi l’arrêt 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 correspondent à la largeur et à la hauteur moyennes des caractères de la police système. Pour les boîtes de dialogue qui utilisent la police système, vous pouvez utiliser ces valeurs pour effectuer une conversion entre les unités du modèle de boîte de dialogue, comme indiqué 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 des unités de modèle de boîte 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 d’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 une 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 pour le premier contrôle dont le style WS _ TABSTOP 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, si tel est le cas, 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 à la structure d’être utilisée 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 propre à l’application, tels que des informations d’État 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 gère une boîte de message. La boîte 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 de commande. Les boutons sont dans la langue de l’interface utilisateur système.
MessageBoxIndirect Crée, affiche et gère une boîte de message. La boîte de message contient le texte et le titre du message défini par l’application, toute icône et toute combinaison de boutons de commande 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 de commande par défaut d’une boîte de dialogue.
repositionnement DM _ Repositionne une boîte de dialogue de niveau supérieur de façon à ce qu’elle s’ajuste à la zone du bureau. Une application peut envoyer ce message à une boîte de dialogue après l’avoir redimensionnée pour s’assurer que la boîte de dialogue entière reste visible.
DM _ SETDEFID Modifie l’identificateur du bouton de commande par défaut d’une boîte de dialogue.

Notifications de boîte de dialogue

Nom Description
_CTLCOLORDLG WM Envoyé à une boîte de dialogue avant que le système ne dessine la boîte de dialogue. En répondant à ce message, la boîte de dialogue peut définir ses couleurs de texte et d’arrière-plan à l’aide du handle de contexte de périphérique d’affichage spécifié.
_ENTERIDLE WM Envoyé à la fenêtre propriétaire d’un menu ou d’une boîte de dialogue modale qui passe à l’état inactif. Un menu ou une boîte de dialogue modale passe à l’état inactif quand aucun message n’est en attente dans sa file d’attente après avoir traité un ou plusieurs messages précédents.
_GETDLGCODE WM Envoyé à la procédure de fenêtre associée à un contrôle. Par défaut, le système gère toutes les entrées au clavier du 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.
_INITDIALOG WM 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.
_NEXTDLGCTL WM 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 associé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 dans 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, spécifie le nombre de structures DLGITEMTEMPLATE ultérieures 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 étendue contient un bloc de données qui utilise le format DLGITEMTEMPLATEEX pour décrire le contrôle.
MSGBOXPARAMS Contient des informations utilisées pour afficher une boîte de message. La fonction MessageBoxIndirect utilise cette structure.