Compartilhar via


CDialog::Create

Chame Criar para criar uma caixa de diálogo sem-modo usando um modelo da caixa de diálogo de um recurso.

virtual BOOL Create(
   LPCTSTR lpszTemplateName,
   CWnd* pParentWnd = NULL 
);
virtual BOOL Create(
   UINT nIDTemplate,
   CWnd* pParentWnd = NULL 
);

Parâmetros

  • lpszTemplateName
    Contém uma cadeia de caracteres NULL- finalizada que é o nome de um recurso do modelo da caixa de diálogo.

  • pParentWnd
    Os pontos a janela pai (objeto do tipo CWnd) ao qual o objeto da caixa de diálogo pertence.Se é NULO, a janela pai do objeto da caixa de diálogo é definida como a janela principal do aplicativo.

  • nIDTemplate
    Contém o número de identificação de um recurso do modelo da caixa de diálogo.

Valor de retorno

Ambos os formulários retornam diferente de zero se a criação e a inicialização da caixa de diálogo eram com êxito; se não 0.

Comentários

Você pode colocar a chamada a Criar dentro do construtor ou chamá-lo depois que o construtor é chamado.

Duas formas de função de membro de Criar são fornecidos para acesso ao recurso do modelo da caixa de diálogo pelo nome do modelo ou pelo número de identificação do modelo (por exemplo, IDD_DIALOG1).

Para um ou outro formulário, passe um ponteiro para o objeto pai da janela.Se pParentWnd é NULO, a caixa de diálogo será criada com sua janela pai ou do proprietário definida como a janela principal do aplicativo.

A função de membro de Criar retorna imediatamente após criar a caixa de diálogo.

Use o estilo de WS_VISIBLE no modelo da caixa de diálogo se a caixa de diálogo aparecer quando a janela pai é criada.Caso contrário, você deve chamar ShowWindow.Para um estilo adicionais da caixa de diálogo e um seu aplicativo, consulte a estrutura de DLGTEMPLATE em Windows SDK e em Estilos de janelana referência MFC.

Use a função de CWnd::DestroyWindow para destruir uma caixa de diálogo criada pela função de Criar .

Exemplo

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

Cabeçalho: afxwin.h

Consulte também

Referência

Classe de CDialog

Gráfico de hierarquia

CDialog::CDialog

CWnd::DestroyWindow

CDialog::InitModalIndirect

CDialog::DoModal

CreateDialog