範例:透過功能表命令顯示對話方塊
本主題包含程序:
透過功能表命令顯示強制回應對話方塊。
透過功能表命令顯示非強制回應對話方塊。
兩個範例程序是為 MFC 應用程式,並會在您使用 MFC 應用程式精靈建立的應用程式。
使用下列程序名稱和值:
項目 |
名稱或值。 |
---|---|
應用程式 |
DisplayDialog |
功能表命令 |
在檢視] 功能表的測試命令;命令 ID = ID_VIEW_TEST |
對話方塊 |
測試對話方塊;類別 CTestDialog =;標頭檔 = TestDialog.h;變數 = testdlg, ptestdlg |
命令處理常式 |
OnViewTest |
顯示強制回應對話方塊
建立功能表命令;請參閱 建立功能表或功能表項目。
建立對話方塊;請參閱 開啟對話方塊編輯器。
將對話方塊的類別。 請參閱 加入類別 以取得詳細資訊。
在 [類別檢視] 中,選取文件類別 (CDisplayDialogDoc)。 在 [屬性] 視窗中,按一下 Events 按鈕。 按兩下命令 (ID_VIEW_TEST) 的 ID 在 [屬性] 視窗的左窗格中選擇 Command。 在右窗格中,按一下向下箭號並選取 <Add> OnViewTest。
如果您已將命令加入至 MDI 應用程式的電腦主機,請選取應用程式類別 (CDisplayDialogApp)。
將包含下列陳述式加入至 CDisplayDialogDoc.cpp (或 CDisplayDialogApp.cpp) 在現有包含陳述式之後:
#include "TestDialog.h"
將下列程式碼新增至 OnViewTest 實作函式:
CTestDialog testdlg; testdlg.DoModal();
顯示非強制回應對話方塊
執行前四個步驟顯示強制回應對話方塊,不過,選取檢視類別 (CDisplayDialogView) 在第 4. 步驟。
編輯 DisplayDialogView.h:
宣告在第一個類別宣告之前的對話方塊類別:
class CTestDialog;
宣告指標到對話方塊在屬性公開部分之後:
CTestDialog* m_pTestDlg;
編輯 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 對話方塊中提供自己的視窗類別名稱。