共用方式為


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

本主題包含下列程式:

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

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

這兩個範例程式都適用于 MFC 應用程式,而且會在您使用 MFC 應用程式精靈 建立 的應用程式中運作。

這些程式會使用下列名稱和值:

項目 名稱或值
應用程式 DisplayDialog
功能表命令 [檢視] 功能表上的 [測試] 命令;命令識別碼 = ID_VIEW_TEST
對話方塊 測試對話方塊;類別 = CTestDialog;標頭檔 = TestDialog.h;Variable = testdlg、ptestdlg
命令處理常式 OnViewTest

顯示強制回應對話方塊

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

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

  3. 新增對話方塊的類別。 如需詳細資訊,請參閱 新增類別

  4. [類別檢視 ] 中,選取檔類別 (CDisplayDialogDoc)。 在 [屬性] 視窗中,按一下 [事件] 按鈕。 按兩下功能表命令的識別碼(ID_VIEW_TEST)。 接下來,按一下向下箭號,然後選取 < [新增 > OnViewTest ]。

    如果您將功能表命令新增至 MDI 應用程式的大型主機,請改為選取應用程式類別 (CDisplayDialogApp)。

  5. 在現有的 include 語句之後,將下列 include 語句新增至 CDisplayDialogDoc.cpp (或 CDisplayDialogApp.cpp:

    #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);
    

另請參閱

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