本主题包含以下过程:
通过菜单命令显示模式对话框。
通过菜单命令显示无模式对话框。
这两个示例过程都适用于 MFC 应用程序,并且将在使用 MFC 应用程序向导创建的应用程序中工作。
这些过程使用以下名称和值:
条目 | 名称或值 |
---|---|
应用程序 | DisplayDialog |
菜单命令 | “视图”菜单上的“测试”命令;命令 ID = ID_VIEW_TEST |
對話方塊 | “测试”对话框;类 = CTestDialog;头文件 = TestDialog.h;变量 = testdlg、ptestdlg |
命令处理程序 | OnViewTest |
显示模式对话框
创建菜单命令;请参阅 “创建菜单”或“菜单项”。
创建对话框;请参阅 “启动对话框编辑器”。
为对话框添加类。 有关详细信息 ,请参阅“添加类 ”。
在 类视图中,选择文档类(CDisplayDialogDoc)。 在 “属性” 窗口中,单击“ 事件 ”按钮。 双击菜单命令的 ID(ID_VIEW_TEST)。 接下来,单击向下箭头并选择“<添加> OnViewTest”。
如果将菜单命令添加到 MDI 应用程序的大型机,请改为选择应用程序类(CDisplayDialogApp)。
将以下 include 语句添加到现有 include 语句之后CDisplayDialogDoc.cpp(或CDisplayDialogApp.cpp):
#include "TestDialog.h"
添加以下代码以实现
OnViewTest
函数:CTestDialog testdlg; testdlg.DoModal();
显示无模式对话框
执行前四个步骤以显示模式对话框,步骤 4 中选择视图类(CDisplayDialogView 除外)。
编辑 DisplayDialogView.h:
- 声明第一个类声明前面的对话框类:
class CTestDialog;
- 声明指向“属性公共”部分后面的对话框的指针:
CTestDialog* m_pTestDlg;
编辑DisplayDialogView.cpp:
- 在现有 include 语句后面添加以下 include 语句:
#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);