Partilhar via


CWnd::Create

Cria a janela filho especificada e anexá-la ao 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
    Ponteiro para uma cadeia de caracteres NULL- finalizada que contém o nome de uma classe registrada da janela do sistema; ou o nome de uma classe de janela predefinida do sistema.

  • [in] lpszWindowName
    Ponteiro para uma cadeia de caracteres NULL- finalizada que contém o nome para exibição da janela; se não NULL para qualquer nome para exibição da janela.

  • [in] dwStyle
    Combinação bit a bit (OPERADOR) de estilos de janela.A opção de WS_POPUP um estilo não é válido.

  • [in] rect
    O tamanho e local da janela em relação ao canto superior esquerdo da janela pai.

  • [in] pParentWnd
    Ponteiro para a janela pai.

  • [in] nID
    Identificação da janela.

  • [in] pContext
    Ponteiro a estrutura de CCreateContext que é usada para personalizar a arquitetura da exibição para o aplicativo.

Valor de retorno

TRUE se o método tenha êxito; se não FALSE.

Comentários

Observação de cuidadoCuidado

AgoraCWnd::PreCreateWindow atribui o membro de hMenu do seu parâmetro de CREATESTRUCT ao ponteiro de this se o menu é NULL e o estilo contém WS_CHILD.Para a funcionalidade adequada, certifique-se que o controle de caixa de diálogo tenha uma identificação que não é NULL.

Essa alteração corrigir uma falha cenários gerenciados/nativos de interoperabilidade.Uma declaração de TRACE em CWnd::Create alerta o desenvolvedor do problema.

Use a função de AfxRegisterWndClass para registrar classes da janela.As classes definidas pelo usuário da janela estão disponíveis no módulo onde eles são registrados.

O método de CWnd::OnCreate é chamado antes que o método de Create retorna, e antes da janela ficará visível.

Exemplo

// 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

Cabeçalho: afxwin.h

Consulte também

Referência

CWnd Class

Gráfico de hierarquia

CWnd::CWnd

CWnd::CreateEx

CreateWindowEx