CWnd::Create

Crea la ventana secundaria especificada y la asocia al objeto de CWnd .

virtual BOOL Create(
   LPCTSTR lpszClassName,
   LPCTSTR lpszWindowName,
   DWORD dwStyle,
   Const RECT& rect,
   CWnd* pParentWnd,
   UINT nID,
   CCreateContext* pContext = NULL
);

Parámetros

  • [in] lpszClassName
    Puntero a una cadena terminada en null que contiene el nombre de una clase de ventana registrada system; o el nombre de una clase de ventana predefinida del sistema.

  • [in] lpszWindowName
    Puntero a una cadena terminada en null que contiene el nombre para mostrar de la ventana; si no NULL para ningún nombre para mostrar de la ventana.

  • [in] dwStyle
    Combinación bit a bit (OR) de estilos de ventana.la opción de WS_POPUP no es un estilo válido.

  • [in] rect
    El tamaño y la ubicación de la ventana en relación con la esquina superior izquierda de la ventana primaria.

  • [in] pParentWnd
    puntero a la ventana primaria.

  • [in] nID
    identificador de la ventana.

  • [in] pContext
    Puntero a una estructura de CCreateContext que se utiliza para personalizar la arquitectura de la vista del documento para la aplicación.

Valor devuelto

TRUE si el método fue correcto; si no FALSE.

Comentarios

Nota de precauciónPrecaución

CWnd::PreCreateWindow ahora asigna el miembro de hMenu del parámetro de CREATESTRUCT el puntero de this si el menú es NULL y estilo contiene WS_CHILD.Para obtener la funcionalidad correcta, asegúrese de que el control de cuadro de diálogo tiene un id. que no es NULL.

Este cambio corrige un bloqueo en escenarios administradas y nativas de interoperabilidad.Un fragmento de TRACE en CWnd::Create avisa el desarrollador del problema.

utilice la función de Clase para registrar clases de ventana.Las clases de ventana definido por el usuario están disponibles en el módulo donde se registran.

Se llama al método de CWnd::OnCreate antes de que el método de Create vuelva, y antes de la ventana se vuelve visible.

Ejemplo

// Dynamically create static control using CWnd::Create,
// instead of with CStatic::Create, which doesn't
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic() 
{
   // m_pWndStatic is a CWnd* member of CMyDlg
   m_pWndStatic = new CWnd;
   m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
       CRect(0, 0, 20, 20), this, 1234);
}

Requisitos

encabezado: afxwin.h

Vea también

Referencia

Clase de CWnd

Gráfico de jerarquía

CWnd::CWnd

CWnd::CreateEx

CreateWindowEx