CDialog::Create
Llame a Crear para crear un cuadro de diálogo no modal mediante una plantilla de cuadro de diálogo de un recurso.
virtual BOOL Create(
LPCTSTR lpszTemplateName,
CWnd* pParentWnd = NULL
);
virtual BOOL Create(
UINT nIDTemplate,
CWnd* pParentWnd = NULL
);
Parámetros
lpszTemplateName
Contiene una cadena terminada en null que es el nombre de un recurso de plantilla de cuadro de diálogo.pParentWnd
Señala al objeto de la ventana primaria (de CWndtipo) al que el objeto de diálogo pertenece. Si es NULL, la ventana primaria del objeto de diálogo se establece en la ventana principal de la aplicación.nIDTemplate
Contiene el número de identificación de un recurso de plantilla de cuadro de diálogo.
Valor devuelto
Los formularios devuelven cero si la creación y la inicialización del cuadro de diálogo fueron correctas; si no 0.
Comentarios
Puede colocar la llamada a Crear dentro del constructor o llamarla después de invocar el constructor.
Dos formas de la función miembro de Crear son proporcionados para el acceso al recurso de plantilla de cuadro de diálogo por cualquier nombre o número de identificación de la plantilla (por ejemplo, IDD_DIALOG1) de la plantilla.
Para cualquier formulario, pase un puntero al objeto de la ventana primaria. Si pParentWnd es NULL, el cuadro de diálogo se creará con la ventana del elemento primario o propietario establecida en la ventana principal de la aplicación.
La función miembro de Crear vuelve inmediatamente después de que crea el cuadro de diálogo.
Utilice el estilo de WS_VISIBLE en la plantilla en el cuadro de diálogo si el cuadro de diálogo aparece cuando se crea la ventana primaria. Si no, debe llamar a ShowWindow. Para estilos más extensos del cuadro de diálogo y la aplicación, vea la estructura de DLGTEMPLATE en Windows SDK y Estilos de ventana en la referencia de MFC.
Utilice la función de CWnd::DestroyWindow destruir un cuadro de diálogo creado por la función de Crear .
Ejemplo
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"));
}
}
Requisitos
encabezado: afxwin.h