Partilhar via


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

Este tópico contém procedimentos para:

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

  • Exibir uma caixa de diálogo sem modo por meio de um comando de menu.

Ambos os procedimentos de exemplo destinam-se a aplicativos MFC, e funcionarão em um aplicativo criado com o Assistente de Aplicativo MFC.

Os procedimentos usam os seguintes nomes e valores:

Item Nome ou valor
Aplicativo DisplayDialog
Comando de menu Comando de teste no menu Exibir; ID do comando = ID_VIEW_TEST
Caixa de diálogo Caixa de diálogo Testar; Classe = CTestDialog; Arquivo de cabeçalho = TestDialog.h; Variável = testdlg, ptestdlg
Manipulador de comandos OnViewTest

Para exibir uma caixa de diálogo modal

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

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

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

  4. Na Exibição de classe, selecione a classe do documento (CDisplayDialogDoc). Na janela Propriedades, clique no botão Eventos. Clique duas vezes na ID do comando de menu (ID_VIEW_TEST). Em seguida, clique na seta para baixo e selecione <Adicionar> OnViewTest.

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

  5. Adicione a seguinte instrução include ao CDisplayDialogDoc.cpp (ou CDisplayDialogApp.cpp) após as instruções include existentes:

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

    CTestDialog testdlg;
    testdlg.DoModal();
    

Para exibir uma caixa de diálogo sem modo

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

  2. Edite DisplayDialogView.h:

    • Declare a classe de caixa de diálogo anterior à 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 a seguinte instrução include após as instruções include existentes:
    #include "TestDialog.h"
    
    • Adicione o seguinte código ao construtor:
    m_pTestDlg = NULL;
    
    • Adicione o seguinte código ao destruidor:
    delete m_pTestDlg;
    
    • Adicione o seguinte 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);
    

Confira também

Caixas de diálogo
Caixas de diálogo modais e sem janela restrita