CDialog::Create
Chiamare Crea per creare una finestra di dialogo non modale utilizzando un modello di finestra di dialogo da una risorsa.
virtual BOOL Create(
LPCTSTR lpszTemplateName,
CWnd* pParentWnd = NULL
);
virtual BOOL Create(
UINT nIDTemplate,
CWnd* pParentWnd = NULL
);
Parametri
lpszTemplateName
Contiene una stringa con terminazione null che è il nome di una risorsa modello di finestra di dialogo.pParentWnd
Punta alla finestra padre oggetto (di tipo CWnd) che l'oggetto della finestra di dialogo appartiene. Se è NULL, la finestra padre dell'oggetto finestra di dialogo viene impostata nella finestra principale dell'applicazione.nIDTemplate
Contiene il numero ID di una risorsa modello di finestra di dialogo.
Valore restituito
Entrambi i form restituiscono diverso da zero se la creazione e l'inizializzazione della finestra di dialogo oppure; in caso contrario 0.
Note
È possibile inserire una chiamata a Crea nel costruttore o chiamarlo dopo che viene richiamato il costruttore.
Due forme della funzione membro Crea vengono forniti accesso alla risorsa modello di finestra di dialogo da qualsiasi nome del modello o l'id del modello, ad esempio IDD_DIALOG1).
Per qualsiasi form, passare un puntatore all'oggetto finestra padre. Se pParentWnd è NULL, la finestra di dialogo verrà creata con il relativo padre o finestra proprietaria impostata nella finestra principale dell'applicazione.
Funzione restituisce membro Crea subito dopo avere creato la finestra di dialogo.
Utilizzare lo stile WS_VISIBLE nel modello di finestra di dialogo se la finestra di dialogo viene visualizzata quando la finestra padre viene creata. In caso contrario, è necessario chiamare ShowWindow. Per ulteriori stili della finestra di dialogo e la relativa applicazione, vedere la struttura DLGTEMPLATE in Windows SDK e in Stili della finestrain riferimenti alla libreria MFC.
Utilizzare la funzione CWnd::DestroyWindow per eliminare una finestra di dialogo creata dalla funzione Crea.
Esempio
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"));
}
}
Requisiti
Header: afxwin.h