Compartilhar via


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

Este tópico contém procedimentos para:

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

  • Exiba uma caixa de diálogo sem janela restrita através de um comando de menu.

Ambos os procedimentos de amostra são para aplicativos MFC e funcionarão em um aplicativo que você criar com o MFC Application Wizard.

Os procedimentos usam os nomes e os valores a seguir:

Item

Nome ou valor

Application

DisplayDialog

Comando de menu

Comando de teste no menu Exibir; Comando ID = 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. Criar o comando de menu; consulte Criando Menus ou itens de Menu.

  2. Criar caixa de diálogo; consulte Iniciar o Editor de diálogo.

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

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

    Se você adicionou o comando de menu ao mainframe de um aplicativo MDI, selecione a classe de aplicativo (CDisplayDialogApp) em vez disso.

  5. Adicionar o seguinte incluir a instrução CDisplayDialogDoc.cpp (ou CDisplayDialogApp.cpp) após o existente incluir instruções:

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

    CTestDialog testdlg;
    testdlg.DoModal();  
    

Para exibir uma caixa de diálogo sem janela restrita

  1. Fazer quatro primeiras etapas para exibir a caixa de diálogo modal, porém selecione a classe de modo de exibição (CDisplayDialogView) na etapa 4.

  2. Edite DisplayDialogView.h:

    • Declare a classe de caixa de diálogo anterior a declaração de primeira classe:

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

      CTestDialog* m_pTestDlg;
      
  3. Edite DisplayDialogView.cpp:

    • Adicione que o seguinte incluir instrução após o existente incluir instruções:

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

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

      delete m_pTestDlg;
      
    • Adicione o seguinte código para 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 do Knowledge Base:

  • Q251059: HOWTO: fornecer seu próprio nome de classe de janela para uma caixa de diálogo do MFC

Consulte também

Conceitos

Caixas de diálogo

Janela restrita e caixas de diálogo sem janela restrita