示例:显示一个对话框。菜单命令

本主题包含程序:

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

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

两个示例过程适用于 MFC 应用程序,并继续在使用 MFC 应用程序向导创建的应用程序。

程序使用以下名称和值:

名称或值

Application

DisplayDialog

菜单命令

测试在 " 视图 " 菜单上的命令;命令 ID = ID_VIEW_TEST

对话框

测试对话框;类 = CTestDialog;头文件 = TestDialog.h;变量 = testdlg, ptestdlg

命令处理程序

OnViewTest

显示模式对话框

  1. 创建菜单命令; 创建菜单或菜单项参见。

  2. 创建对话框; 打开对话框编辑器参见。

  3. 将您的对话框的类。请参见 添加类 有关更多信息。

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

    如果添加了菜单命令添加到 MDI 应用程序的主框架,选择应用程序类 (CDisplayDialogApp)。

  5. 将下面的 include 语句添加到 CDisplayDialogDoc.cpp (或 CDisplayDialogApp.cpp) 在现有后面包括语句:

    #include "TestDialog.h"
    
  6. 将以下代码添加到 OnViewTest 实现该功能:

    CTestDialog testdlg;
    testdlg.DoModal();  
    

显示无模式对话框

  1. 执行前四个步骤显示模式对话框,除此之外,选择视图类 (CDisplayDialogView) 在步骤。

  2. 编辑 DisplayDialogView.h:

    • 声明上面一类声明的对话框类:

      class CTestDialog;
      
    • 声明指向对话框在属性 public 节后面:

      CTestDialog* m_pTestDlg;
      
  3. 编辑 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 对话框提供自己的窗口类名

请参见

概念

对话框

模式和无模式对话框