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