共用方式為


範例:透過功能表命令顯示對話方塊

本主題包含程序:

  • 透過功能表命令顯示強制回應對話方塊。

  • 透過功能表命令顯示非強制回應對話方塊。

兩個範例程序是為 MFC 應用程式,並會在您使用 MFC 應用程式精靈建立的應用程式。

使用下列程序名稱和值:

項目

名稱或值。

應用程式

DisplayDialog

功能表命令

在檢視] 功能表的測試命令;命令 ID = ID_VIEW_TEST

對話方塊

測試對話方塊;類別 CTestDialog =;標頭檔 = TestDialog.h;變數 = testdlg, ptestdlg

命令處理常式

OnViewTest

顯示強制回應對話方塊

  1. 建立功能表命令;請參閱 建立功能表或功能表項目

  2. 建立對話方塊;請參閱 開啟對話方塊編輯器

  3. 將對話方塊的類別。 請參閱 加入類別 以取得詳細資訊。

  4. 在 [類別檢視] 中,選取文件類別 (CDisplayDialogDoc)。 在 [屬性] 視窗中,按一下 Events 按鈕。 按兩下命令 (ID_VIEW_TEST) 的 ID 在 [屬性] 視窗的左窗格中選擇 Command。 在右窗格中,按一下向下箭號並選取 <Add> OnViewTest

    如果您已將命令加入至 MDI 應用程式的電腦主機,請選取應用程式類別 (CDisplayDialogApp)。

  5. 將包含下列陳述式加入至 CDisplayDialogDoc.cpp (或 CDisplayDialogApp.cpp) 在現有包含陳述式之後:

    #include "TestDialog.h"
    
  6. 將下列程式碼新增至 OnViewTest 實作函式:

    CTestDialog testdlg;
    testdlg.DoModal();  
    

顯示非強制回應對話方塊

  1. 執行前四個步驟顯示強制回應對話方塊,不過,選取檢視類別 (CDisplayDialogView) 在第 4. 步驟。

  2. 編輯 DisplayDialogView.h:

    • 宣告在第一個類別宣告之前的對話方塊類別:

      class CTestDialog;
      
    • 宣告指標到對話方塊在屬性公開部分之後:

      CTestDialog* m_pTestDlg;
      
  3. 編輯 DisplayDialogView.cpp:

    • 在現有的 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); 
      

此外,請參閱下列知識庫 (Knowledge Base) 文件:

  • Q251059:HOWTO:提供 MFC 對話方塊中提供自己的視窗類別名稱。

請參閱

概念

對話方塊

強制回應和非強制回應對話方塊