Compartir a través de


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

Vea también

Referencia

Clase CDialog

Gráfico de jerarquía

CDialog::CDialog

CWnd::DestroyWindow

CDialog::InitModalIndirect

CDialog::DoModal

CreateDialog