Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 modeless por meio de um comando de menu.
Ambos os procedimentos de exemplo são para aplicativos MFC e funcionarão em um aplicativo criado com o Assistente de Aplicativo MFC.
Os procedimentos usam os seguintes nomes e valores:
| Elemento | Nome ou valor |
|---|---|
| Aplicação | DisplayDialog |
| Comando menu | Comando de teste no menu Exibir; 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 comandos | OnViewTest |
Para exibir uma caixa de diálogo modal
Criar o comando de menu; consulte Criando menus ou itens de menu.
Criar a caixa de diálogo; consulte Iniciar o Editor de Caixa de Diálogo.
Adicione uma classe para sua caixa de diálogo. Consulte a adição de uma classe para obter mais informações.
No Modo de Exibição de Classe, selecione a classe de 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ê adicionou o comando de menu ao mainframe de um aplicativo MDI, selecione a classe de aplicativo (CDisplayDialogApp).
Adicione a seguinte instrução include a CDisplayDialogDoc.cpp (ou CDisplayDialogApp.cpp) após as instruções de inclusão existentes:
#include "TestDialog.h"Adicione o seguinte código para
OnViewTestimplementar a função:CTestDialog testdlg; testdlg.DoModal();
Para exibir uma caixa de diálogo modeless
Execute as quatro primeiras etapas para exibir uma caixa de diálogo modal, exceto selecionar a classe de exibição (CDisplayDialogView) na etapa 4.
Editar 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;Editar DisplayDialogView.cpp:
- Adicione a seguinte instrução include após as instruções de inclusão 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 para
OnViewTestimplementar a função:
if (NULL == m_pTestDlg) { m_pTestDlg = new CTestDialog(this); m_pTestDlg->Create(CTestDialog::IDD, this); } m_pTestDlg->ShowWindow(SW_SHOW);
Consulte também
Caixas de diálogo
Caixas de diálogo Modal e Modeless