Compartir a través de


CDialog::CreateIndirect

Llame a esta función miembro para crear un cuadro de diálogo no modal de una plantilla de cuadro de diálogo en memoria.

virtual BOOL CreateIndirect( 
   LPCDLGTEMPLATE lpDialogTemplate, 
   CWnd* pParentWnd = NULL, 
   void* lpDialogInit = NULL 
); 
virtual BOOL CreateIndirect( 
   HGLOBAL hDialogTemplate, 
   CWnd* pParentWnd = NULL 
);

Parámetros

  • lpDialogTemplate
    Señala la memoria que contiene una plantilla de cuadro de diálogo utilizada para crear el cuadro de diálogo. Esta plantilla está en forma de información de estructura y de control de DLGTEMPLATE , como se describe en Windows SDK.

  • pParentWnd
    Señala al objeto de la ventana primaria del objeto de diálogo (de CWndtipo). Si es NULL, la ventana primaria del objeto de diálogo se establece en la ventana principal de la aplicación.

  • lpDialogInit
    Apunta a un recurso de DLGINIT .

  • hDialogTemplate
    Contiene un identificador de memoria global que contiene una plantilla de cuadro de diálogo. Esta plantilla tiene la forma de estructura y datos de DLGTEMPLATE para cada control en el cuadro de diálogo.

Valor devuelto

Distinto de cero si el cuadro de diálogo se ha creado e inicializado correctamente; si no 0.

Comentarios

La función miembro de CreateIndirect 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 hacer que aparezca. Para obtener más información sobre cómo puede especificar otros estilos en el cuadro de diálogo de la plantilla, vea la estructura de DLGTEMPLATE en Windows SDK.

Utilice la función de CWnd::DestroyWindow destruir un cuadro de diálogo creado por la función de CreateIndirect .

Los cuadros de diálogo que contienen controles ActiveX requieren información adicional proporcionada en un recurso de DLGINIT . Para obtener más información, vea el artículo Q231591 de Knowledge Base, “HOWTO: Utilice una plantilla de cuadro de diálogo para crear un diálogo de MFC con un control ActiveX”. Los artículos de Knowledge Base están disponibles en la documentación de Visual Studio de MSDN Library o en la dirección https://support.microsoft.com.

Requisitos

encabezado: afxwin.h

Vea también

Referencia

CDialog Class

Gráfico de jerarquías

CDialog::CDialog

CWnd::DestroyWindow

CDialog::Create

CreateDialogIndirect