Partager via


CDialog::CreateIndirect

Appelez la fonction membre pour créer une boîte de dialogue non modale d'un modèle de boîte de dialogue en mémoire.

virtual BOOL CreateIndirect( 
   LPCDLGTEMPLATE lpDialogTemplate, 
   CWnd* pParentWnd = NULL, 
   void* lpDialogInit = NULL 
); 
virtual BOOL CreateIndirect( 
   HGLOBAL hDialogTemplate, 
   CWnd* pParentWnd = NULL 
);

Paramètres

  • lpDialogTemplate
    Pointe vers la mémoire qui contient un modèle de boîte de dialogue utilisé pour créer la boîte de dialogue. Ce modèle est sous la forme de structure de DLGTEMPLATE et de paramètres, comme décrit dans Kit de développement logiciel Windows.

  • pParentWnd
    Pointe vers l'objet window parent de l'objet dialog (de type CWnd). Si c'est NULL, la fenêtre parente de l'objet dialog est définie dans la fenêtre d'application principale.

  • lpDialogInit
    Pointe vers une ressource DLGINIT .

  • hDialogTemplate
    Contient un handle vers la mémoire globale contenant un modèle de boîte de dialogue. Ce modèle est sous la forme de structure et de données de DLGTEMPLATE pour chaque contrôle dans la boîte de dialogue.

Valeur de retour

Une valeur différente de zéro si la boîte de dialogue a été créée et initialisée avec succès ; sinon 0.

Notes

La fonction membre d' CreateIndirect retourne immédiatement après qu'elle crée la boîte de dialogue.

Utilisez le style de WS_VISIBLE dans le modèle de boîte de dialogue si la boîte de dialogue s'affiche lorsque la fenêtre parente est créée. Sinon, vous devez appeler ShowWindow pour le faire apparaître. Pour plus d'informations sur la façon dont vous pouvez spécifier d'autres styles de boîte de dialogue dans le modèle, consultez la structure de DLGTEMPLATE dans Kit de développement logiciel Windows.

Utilisez la fonction d' CWnd::DestroyWindow pour détruire une boîte de dialogue créée par la fonction d' CreateIndirect .

Les boîtes de dialogue qui contiennent des contrôles ActiveX nécessitent des informations supplémentaires fournies dans une ressource DLGINIT . Pour plus d'informations, consultez l'article de la Base de connaissances Q231591, « HOWTO : Utilisez un modèle de boîte de dialogue pour créer une boîte de dialogue MFC avec un contrôle ActiveX. » Les articles de la Base de connaissances sont disponibles dans la documentation Visual Studio de MSDN Library ou à l'adresse https://support.microsoft.com/?ln=fr&x=6&y=15.

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CDialog, classe

Graphique de la hiérarchie

CDialog::CDialog

CWnd::DestroyWindow

CDialog::Create

CreateDialogIndirect