Partager via


CDialog::Create

Appelez Créer pour créer une boîte de dialogue non modale à l'aide d'un modèle de boîte de dialogue d'une ressource.

virtual BOOL Create( 
   LPCTSTR lpszTemplateName, 
   CWnd* pParentWnd = NULL  
); 
virtual BOOL Create( 
   UINT nIDTemplate, 
   CWnd* pParentWnd = NULL  
);

Paramètres

  • lpszTemplateName
    Contient une chaîne terminée par le caractère NULL qui est le nom d'une ressource modèle de boîte de dialogue.

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

  • nIDTemplate
    Contient le numéro d'ID d'une ressource modèle de boîte de dialogue.

Valeur de retour

Les deux formes retournent une valeur différente de zéro si la création et l'initialisation de boîte de dialogue étaient réussies ; sinon 0.

Notes

Vous pouvez mettre l'appel à Créer dans le constructeur ou l'appeler après que le constructeur est appelé.

Deux formes de la fonction membre de Créer sont fournies pour l'accès à la ressource modèle de boîte de dialogue par le nom du modèle ou le numéro d'ID de modèle (par exemple, IDD_DIALOG1.)

Pour l'un ou l'autre de formulaire, passez un pointeur vers l'objet window parent. Si pParentWnd est NULL, la boîte de dialogue est créée avec son parent ou la fenêtre propriétaire définie dans la fenêtre d'application principale.

La fonction membre de Créer 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 d'autres styles de boîte de dialogue et leur application, consultez la structure de DLGTEMPLATE dans Kit de développement logiciel Windows et styles de fenêtre dans MFC Reference.

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

Exemple

void CMyDialog::OnMenuShowSimpleDialog()
{
   //m_pSimpleDialog initialized to NULL in the constructor of CMyDialog class
   m_pSimpleDlg = new CSimpleDlg();
   //Check if new succeeded and we got a valid pointer to a dialog object 
   if(m_pSimpleDlg != NULL)
   {
      BOOL ret = m_pSimpleDlg->Create(IDD_SIMPLEDIALOG, this);

      if(!ret)   //Create failed.
         AfxMessageBox(_T("Error creating Dialog"));

      m_pSimpleDlg->ShowWindow(SW_SHOW);
   }
   else
   {
      AfxMessageBox(_T("Error Creating Dialog Object"));
   }
}

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CDialog, classe

Graphique de la hiérarchie

CDialog::CDialog

CWnd::DestroyWindow

CDialog::InitModalIndirect

CDialog::DoModal

CreateDialog