Share via


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

本主题包含以下过程:

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

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

这两个示例过程都适用于 MFC 应用程序,并在使用 MFC 应用程序向导创建的应用程序中发挥作用。

这些过程使用以下名称和值:

名称或值
应用程序 DisplayDialog
菜单命令 Test command on View menu; Command ID = ID_VIEW_TEST
对话框 Test dialog box; Class = CTestDialog; Header file = TestDialog.h; Variable = testdlg, ptestdlg
命令处理程序 OnViewTest

显示模式对话框

  1. 创建菜单命令;请参阅创建菜单或菜单项

  2. 创建对话框;请参阅启动对话框编辑器

  3. 为对话框添加类。 有关详细信息,请参阅添加类

  4. 在“类视图”中,选择文档类 (CDisplayDialogDoc)。 在“属性”窗口中,单击“事件”按钮。 双击菜单命令 (ID_VIEW_TEST) 的 ID。 接下来,单击向下箭头并选择“<添加> OnViewTest”

    如果将菜单命令添加到 MDI 应用程序的大型机,请改为选择应用程序类 (CDisplayDialogApp)。

  5. 将以下 include 语句添加到 CDisplayDialogDoc.cpp(或 CDisplayDialogApp.cpp)现有 include 语句之后:

    #include "TestDialog.h"
    
  6. 将以下代码添加到 OnViewTest 以实现函数:

    CTestDialog testdlg;
    testdlg.DoModal();
    

显示无模式对话框

  1. 执行前四个步骤(除去在步骤 4 中选择视图类 (CDisplayDialogView))以显示模式对话框。

  2. 编辑 DisplayDialogView.h:

    • 声明第一个类声明前面的对话框类:
    class CTestDialog;
    
    • 声明指向“特性”公共部分后面的对话框的指针:
    CTestDialog* m_pTestDlg;
    
  3. 编辑 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);
    

另请参阅

对话框
模式和无模式对话框