Blog

Keep up to date with the latest news

示例:通过菜单命令显示对话框

本主题包含以下过程:

通过菜单命令显示模式对话框。

通过菜单命令显示无模式对话框。

这两个示例过程都适用于 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);

另请参阅

对话框

模式和无模式对话框