Partager via


Macro DialogBoxW (winuser.h)

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 ne termine pas la boîte de dialogue modale en appelant la fonction EndDialog .

DialogBox est implémenté en tant qu’appel à la fonction DialogBoxParam .

Syntaxe

void DialogBoxW(
  [in, optional]  hInstance,
  [in]            lpTemplate,
  [in, optional]  hWndParent,
  [in, optional]  lpDialogFunc
);

Paramètres

[in, optional] hInstance

Type : HINSTANCE

Handle du module qui contient le modèle de boîte de dialogue. Si ce paramètre a la valeur NULL, l’exécutable actuel est utilisé.

[in] lpTemplate

Type : LPCTSTR

Modèle de boîte de dialogue. Ce paramètre est soit le pointeur vers une chaîne de caractères terminée par null qui spécifie le nom du modèle de boîte de dialogue, soit une valeur entière qui spécifie l’identificateur de ressource du modèle de boîte de dialogue. Si le paramètre spécifie un identificateur de ressource, son mot d’ordre élevé doit être égal à zéro et son mot d’ordre inférieur doit contenir l’identificateur. Vous pouvez utiliser la macro MAKEINTRESOURCE pour créer cette valeur.

[in, optional] hWndParent

Type : HWND

Handle de la fenêtre qui possède la boîte de dialogue.

[in, optional] lpDialogFunc

Type : DLGPROC

Pointeur vers la procédure de boîte de dialogue. Pour plus d’informations sur la procédure de boîte de dialogue, consultez DialogProc.

Valeur de retour

None

Remarques

La macro DialogBox utilise la fonction CreateWindowEx pour créer la boîte de dialogue. DialogBox envoie ensuite un message WM_INITDIALOG (et un message WM_SETFONT si le modèle spécifie le style DS_SETFONT ou DS_SHELLFONT) à la procédure de boîte de dialogue. La fonction affiche la boîte de dialogue (que le modèle spécifie ou non le style WS_VISIBLE ), désactive la fenêtre propriétaire et démarre sa propre boucle de message pour récupérer et distribuer des messages pour la boîte de dialogue.

Lorsque la procédure de boîte de dialogue appelle la fonction EndDialog , DialogBox détruit la boîte de dialogue, met fin à la boucle du message, active la fenêtre propriétaire (si activée précédemment) et retourne le paramètre nResult spécifié par la procédure de boîte de dialogue lorsqu’elle a appelé EndDialog.

Exemples

Pour obtenir un exemple, consultez Création d’une boîte de dialogue modale.

Notes

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

   
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

Voir aussi

Conceptuel

CreateDialog

CreateWindowEx

Boîtes de dialogue

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

DialogProc

EndDialog

MAKEINTRESOURCE

Référence

WM_INITDIALOG

WM_SETFONT