範例:透過功能表命令顯示對話方塊
本主題包含下列程式:
透過功能表命令顯示強制回應對話方塊。
透過功能表命令顯示無強制回應對話方塊。
這兩個範例程式都適用于 MFC 應用程式,而且會在您使用 MFC 應用程式精靈 建立 的應用程式中運作。
這些程式會使用下列名稱和值:
項目 | 名稱或值 |
---|---|
應用程式 | DisplayDialog |
功能表命令 | [檢視] 功能表上的 [測試] 命令;命令識別碼 = ID_VIEW_TEST |
對話方塊 | 測試對話方塊;類別 = CTestDialog;標頭檔 = TestDialog.h;Variable = testdlg、ptestdlg |
命令處理常式 | OnViewTest |
顯示強制回應對話方塊
建立功能表命令;請參閱 建立功能表或功能表項目 。
建立對話方塊;請參閱 啟動對話方塊編輯器 。
新增對話方塊的類別。 如需詳細資訊,請參閱 新增類別 。
在 [類別檢視 ] 中,選取檔類別 (CDisplayDialogDoc)。 在 [屬性] 視窗中,按一下 [事件] 按鈕。 按兩下功能表命令的識別碼(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);