次の方法で共有


例 : メニュー コマンドによるダイアログ ボックスの表示

このトピックでは、手順が含まれています:

  • メニュー コマンドにより、モーダル ダイアログ ボックスを表示します。

  • メニュー コマンドによってモードレス ダイアログ ボックスが表示されます。

サンプル プロシージャは、両方の MFC アプリケーションでは、 MFC アプリケーション ウィザードで作成するアプリケーションで動作します。

プロシージャは名前と値を使用します:

項目

名前または値

アプリケーション

DisplayDialog

メニュー コマンド

表示されたメニュー コマンドのテスト; コマンド ID = ID_VIEW_TEST

ダイアログ ボックス

テストのダイアログ ボックス; クラス CTestDialog =; ヘッダー ファイル = TestDialog.h; 変数 testdlg、 ptestdlg =

コマンド ハンドラー

OnViewTest

モーダル ダイアログ ボックスを表示します。

  1. メニュー コマンドを作成します。; メニューまたはメニュー項目の作成を参照してください。

  2. ダイアログ ボックスを作成します。; ダイアログ エディターを開くを参照してください。

  3. ダイアログ ボックスのクラスを追加します。詳細については クラスの追加 を参照してください。

  4. クラス ビューでは、ドキュメント クラス (CDisplayDialogDoc)を選択します。プロパティ のペインで、 イベント のボタンをクリックします。プロパティ のペインの左ペインのメニュー コマンド (ID_VIEW_TEST)の ID をダブルクリック、 **コマンド(&&C),command,コマンド,コマンド(O)**を選択します。右ペインで、矢印をクリックし、 追加 OnViewTestを選択します。

    MDI アプリケーションのメインフレームにメニュー コマンドを追加する場合は、アプリケーション クラス (CDisplayDialogApp)を選択します。

  5. 次のとおりです。既存の後に CDisplayDialogDoc.cpp (または CDisplayDialogApp.cpp)にステートメントを含むステートメントを追加します:

    #include "TestDialog.h"
    
  6. 関数を実行するに OnViewTest に次のコードを追加します:

    CTestDialog testdlg;
    testdlg.DoModal();  
    

モードレス ダイアログ ボックスを表示します。

  1. SELECT を除くモーダル ダイアログ ボックスを表示する最初の 4 ステップを手順 4. のビュー クラス () CDisplayDialogView します。

  2. 編集 DisplayDialogView.h:

    • 最初のクラス宣言の前にあるダイアログ ボックス クラスを宣言します:

      class CTestDialog;
      
    • 属性のパブリック セクションの後でダイアログ ボックスへのポインターを宣言します:

      CTestDialog* m_pTestDlg;
      
  3. 編集 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 ダイアログ ボックスのペイン クラス名を指定します。

参照

概念

ダイアログ ボックス

モーダルとモードレスのダイアログ ボックス