次の方法で共有


メッセージ マップの所在

更新 : 2007 年 11 月

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

メッセージ マップは、クラスの .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 など) でメッセージ マップの内容を定義します。

ceh458fb.alert_note(ja-jp,VS.90).gifメモ :

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

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

参照

概念

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