次の方法で共有


メッセージ マップの所在

アプリケーション ウィザードを使ってスケルトン アプリケーションを新規作成すると、生成されたコマンド ターゲット クラスのメッセージ マップが自動的に作られます。 つまり、独自に派生したアプリケーション、ドキュメント、ビュー、フレーム ウィンドウの各クラスに対してメッセージ マップが作成されます。 一部のメッセージと定義済みコマンドについては、メッセージ マップのエントリもアプリケーション ウィザードによって自動的に作成されます。プログラマがハンドラー名を追加できるように、プレースホルダーだけが作成される場合もあります。

メッセージ マップは、クラスの .CPP ファイルにあります。 アプリケーション ウィザードで作成した基本のメッセージ マップには、各クラスで処理するメッセージやコマンドのエントリを [プロパティ] ウィンドウで追加できます。 一般的なメッセージ マップにエントリを追加すると、次のようになります。

BEGIN_MESSAGE_MAP(CMyView, CFormView)
   ON_WM_MOUSEACTIVATE()
   ON_COMMAND(ID_EDIT_CUT, &CMyView::OnEditCut)
   ON_UPDATE_COMMAND_UI(ID_EDIT_CUT, &CMyView::OnUpdateEditCut)
   ON_BN_CLICKED(IDC_MYBUTTON, &CMyView::OnBnClickedMybutton)
   ON_WM_CREATE()
END_MESSAGE_MAP()

メッセージ マップはマクロの集合です。 メッセージ マップは、BEGIN_MESSAGE_MAPEND_MESSAGE_MAP という 2 つのマクロで囲まれます。 その他のマクロ (ON_COMMAND など) でメッセージ マップの内容を定義します。

注意

メッセージ マップ マクロの末尾にはセミコロンを付けません。

クラス追加ウィザードを使って新しいクラスを作成すると、そのクラスのメッセージ マップが自動的に生成されます。 ソース コード エディターを使うと、メッセージ マップを手作業で作成できます。

参照

概念

フレームワークのメッセージ マップ検索方法