示例:显示一个对话框。菜单命令
本主题包含程序:
通过菜单命令显示模式对话框。
通过菜单命令显示无模式对话框。
两个示例过程适用于 MFC 应用程序,并继续在使用 MFC 应用程序向导创建的应用程序。
程序使用以下名称和值:
项 |
名称或值 |
---|---|
Application |
DisplayDialog |
菜单命令 |
测试在 " 视图 " 菜单上的命令;命令 ID = ID_VIEW_TEST |
对话框 |
测试对话框;类 = CTestDialog;头文件 = TestDialog.h;变量 = testdlg, ptestdlg |
命令处理程序 |
OnViewTest |
显示模式对话框
创建菜单命令; 创建菜单或菜单项参见。
创建对话框; 打开对话框编辑器参见。
将您的对话框的类。请参见 添加类 有关更多信息。
在 类视图,选择文档类 (CDisplayDialogDoc)。在 属性 窗口中,单击 事件 按钮。双击菜单命令 (ID_VIEW_TEST) 的 ID 在 属性 窗口的左窗格中并选择 命令。在右窗格中,单击下箭头并选择 添加 OnViewTest。
如果添加了菜单命令添加到 MDI 应用程序的主框架,选择应用程序类 (CDisplayDialogApp)。
将下面的 include 语句添加到 CDisplayDialogDoc.cpp (或 CDisplayDialogApp.cpp) 在现有后面包括语句:
#include "TestDialog.h"
将以下代码添加到 OnViewTest 实现该功能:
CTestDialog testdlg; testdlg.DoModal();
显示无模式对话框
执行前四个步骤显示模式对话框,除此之外,选择视图类 (CDisplayDialogView) 在步骤。
编辑 DisplayDialogView.h:
声明上面一类声明的对话框类:
class CTestDialog;
声明指向对话框在属性 public 节后面:
CTestDialog* m_pTestDlg;
编辑 DisplayDialogView.cpp:
添加以下存在后面包括语句包括语句:
#include "TestDialog.h"
将以下代码添加到构造函数:
m_pTestDlg = NULL;
将以下代码添加到析构函数:
delete m_pTestDlg;
将以下代码添加到 OnViewTest 实现该功能:
if (NULL == m_pTestDlg) { m_pTestDlg = new CTestDialog(this); m_pTestDlg->Create(CTestDialog::IDD, this); } m_pTestDlg->ShowWindow(SW_SHOW);
此外,请参见下面的知识库文章:
- Q251059:HOWTO:为 MFC 对话框提供自己的窗口类名