例 : メニュー コマンドによるダイアログ ボックスの表示
このトピックでは、手順が含まれています:
メニュー コマンドにより、モーダル ダイアログ ボックスを表示します。
メニュー コマンドによってモードレス ダイアログ ボックスが表示されます。
サンプル プロシージャは、両方の MFC アプリケーションでは、 MFC アプリケーション ウィザードで作成するアプリケーションで動作します。
プロシージャは名前と値を使用します:
項目 |
名前または値 |
---|---|
アプリケーション |
DisplayDialog |
メニュー コマンド |
表示されたメニュー コマンドのテスト; コマンド ID = ID_VIEW_TEST |
ダイアログ ボックス |
テストのダイアログ ボックス; クラス CTestDialog =; ヘッダー ファイル = TestDialog.h; 変数 testdlg、 ptestdlg = |
コマンド ハンドラー |
OnViewTest |
モーダル ダイアログ ボックスを表示します。
メニュー コマンドを作成します。; メニューまたはメニュー項目の作成を参照してください。
ダイアログ ボックスを作成します。; ダイアログ エディターを開くを参照してください。
ダイアログ ボックスのクラスを追加します。詳細については クラスの追加 を参照してください。
クラス ビューでは、ドキュメント クラス (CDisplayDialogDoc)を選択します。プロパティ のペインで、 イベント のボタンをクリックします。プロパティ のペインの左ペインのメニュー コマンド (ID_VIEW_TEST)の ID をダブルクリック、 **コマンド(&&C),command,コマンド,コマンド(O)**を選択します。右ペインで、矢印をクリックし、 追加 OnViewTestを選択します。
MDI アプリケーションのメインフレームにメニュー コマンドを追加する場合は、アプリケーション クラス (CDisplayDialogApp)を選択します。
次のとおりです。既存の後に CDisplayDialogDoc.cpp (または CDisplayDialogApp.cpp)にステートメントを含むステートメントを追加します:
#include "TestDialog.h"
関数を実行するに OnViewTest に次のコードを追加します:
CTestDialog testdlg; testdlg.DoModal();
モードレス ダイアログ ボックスを表示します。
SELECT を除くモーダル ダイアログ ボックスを表示する最初の 4 ステップを手順 4. のビュー クラス () CDisplayDialogView します。
編集 DisplayDialogView.h:
最初のクラス宣言の前にあるダイアログ ボックス クラスを宣言します:
class CTestDialog;
属性のパブリック セクションの後でダイアログ ボックスへのポインターを宣言します:
CTestDialog* m_pTestDlg;
編集 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 ダイアログ ボックスのペイン クラス名を指定します。