Macro DialogBoxIndirectW (winuser.h)
Crée une boîte de dialogue modale à partir d’un modèle de boîte de dialogue en mémoire.
DialogBoxIndirect est implémenté en tant qu’appel à la fonction DialogBoxIndirectParam.
Syntaxe
void DialogBoxIndirectW(
[in, optional] hInstance,
[in] lpTemplate,
[in, optional] hWndParent,
[in, optional] lpDialogFunc
);
Paramètres
[in, optional] hInstance
Type : HINSTANCE
Handle du module qui crée la boîte de dialogue.
[in] lpTemplate
Type : LPCDLGTEMPLATE
Modèle qui DialogBoxIndirect utilise pour créer la boîte de dialogue. Un modèle de boîte de dialogue se compose d’un en-tête qui décrit la boîte de dialogue, suivi d’un ou de plusieurs blocs de données supplémentaires qui décrivent chacun des contrôles de la boîte de dialogue. Le modèle peut utiliser le format standard ou le format étendu.
Dans un modèle standard pour une boîte de dialogue, l’en-tête est une structure DLGTEMPLATE suivie de tableaux de longueur variable supplémentaires. Les données de chaque contrôle se composent d’une structure DLGITEMTEMPLATE suivie de tableaux de longueur variable supplémentaires.
Dans un modèle étendu pour une boîte de dialogue, l’en-tête utilise le format DLGTEMPLATEEX et les définitions de contrôle utilisent le format DLGITEMTEMPLATEEX.
[in, optional] hWndParent
Type : HWND
Handle de la fenêtre propriétaire 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
Aucun
Remarques
La macro DialogBoxIndirect
Lorsque la procédure de boîte de dialogue appelle la fonction EndDialog
Dans un modèle de boîte de dialogue standard, la structure DLGTEMPLATE
Dans un modèle de boîte de dialogue étendu, l’en-tête DLGTEMPLATEEX
Toutes les chaînes de caractères dans le modèle de boîte de dialogue, telles que les titres de la boîte de dialogue et les boutons, doivent être des chaînes Unicode. Utilisez la fonction MultiByteToWideChar pour générer des chaînes Unicode à partir de chaînes ANSI.
Exemples
Pour obtenir un exemple, consultez Création d’un modèle en mémoire.
Note
L’en-tête winuser.h définit DialogBoxIndirect en tant qu’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 |
Voir aussi
conceptuelle
autres ressources
de référence