Partilhar via


Exemplo: exibindo uma caixa de diálogo por meio de um comando Menu

Este tópico contém procedimentos:

  • Exibe uma caixa de diálogo modal por um comando de menu.

  • Exibe uma caixa de diálogo modeless por um comando de menu.

Ambos os procedimentos de exemplo são para aplicativos de MFC e funcionarão em um aplicativo que você cria com Assistente do aplicativo MFC.

Os procedimentos usam os seguintes nomes e valores:

Item

Nome ou valor

Aplicativo

DisplayDialog

Comando de menu

Comando de teste no menu exibição; ID do comando = ID_VIEW_TEST

Caixa de diálogo

Caixa de diálogo de teste; Classe CTestDialog; = Arquivo de cabeçalho TestDialog.h; = = Variável testdlg, ptestdlg

Manipulador de comando

OnViewTest

Para exibir uma caixa de diálogo modal

  1. Crie o comando de menu; consulte Criando menus ou itens de menu.

  2. Crie a caixa de diálogo; consulte Iniciando o publicador da caixa de diálogo.

  3. Adicione uma classe para a caixa de diálogo. Consulte Adicionando uma classe para obter mais informações.

  4. Em Modo de Exibição de Classe, selecione a classe do documento (CDisplayDialogDoc). Na janela de Propriedades , clique no botão de Eventos . Clique duas vezes na ID de comando de menu (ID_VIEW_TEST) no painel esquerdo da janela de Propriedades e selecione Comando. No painel direito, clique na seta para baixo e selecione <Add> OnViewTest.

    Se você adicionou o comando de menu à unidade central de um aplicativo MDI, selecione a classe do aplicativo (CDisplayDialogApp).

  5. Adicione o seguinte incluem a instrução a CDisplayDialogDoc.cpp (ou a CDisplayDialogApp.cpp) depois da existência incluem instruções:

    #include "TestDialog.h"
    
  6. Adicione o código a OnViewTest para implementar a função:

    CTestDialog testdlg;
    testdlg.DoModal();  
    

Para exibir uma caixa de diálogo modeless

  1. Execute as primeiras quatro etapas para exibir uma caixa de diálogo modal, a não ser que selecione a classe da exibição (CDisplayDialogView) na etapa 4.

  2. Edição DisplayDialogView.h:

    • Declare a classe da caixa de diálogo que precede a declaração de primeira classe:

      class CTestDialog;
      
    • Declare um ponteiro para a caixa de diálogo depois que a seção pública de atributos:

      CTestDialog* m_pTestDlg;
      
  3. Edição DisplayDialogView.cpp:

    • Adicione o seguinte incluem a instrução após a existência incluem instruções:

      #include "TestDialog.h"
      
    • Adicione o seguinte código para o construtor:

      m_pTestDlg = NULL;
      
    • Adicione o seguinte código ao destruidor:

      delete m_pTestDlg;
      
    • Adicione o código a OnViewTest para implementar a função:

      if (NULL == m_pTestDlg)
      {
         m_pTestDlg = new CTestDialog(this);
         m_pTestDlg->Create(CTestDialog::IDD, this);
      }
      m_pTestDlg->ShowWindow(SW_SHOW); 
      

Além disso, consulte o seguinte artigo da Base de Dados de Conhecimento:

  • Q251059: HOWTO: Forneça seu próprio nome de classe da janela para uma caixa de diálogo MFC

Consulte também

Conceitos

Caixas de diálogo

Caixas de diálogo modais e sem janela restrita