メッセージ マップの所在
アプリケーション ウィザードを使用して新しいスケルトン アプリケーションを作成すると、アプリケーション ウィザードは作成したコマンド ターゲット クラスごとにメッセージ マップを書き込みます。 これには、派生アプリケーション、ドキュメント、ビュー、およびフレーム ウィンドウ クラスが含まれます。 これらのメッセージ マップの一部には、特定のメッセージと定義済みのコマンドに対してアプリケーション ウィザードによって提供されるエントリが既に含まれています。一部は、追加するハンドラーのプレースホルダーにすすむものがあります。
クラスのメッセージ マップは、クラスの .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()
メッセージ マップは、マクロのコレクションで構成されます。 2 つのマクロ BEGIN_MESSAGE_MAP と END_MESSAGE_MAP で、メッセージ マップを角かっこで囲みます。 ON_COMMAND
などの他のマクロは、メッセージ マップの内容を入力します。
Note
メッセージ マップ マクロの後にセミコロンは続いて表示されません。
クラスの追加ウィザードを使用して新しいクラスを作成すると、クラスのメッセージ マップが提供されます。 または、ソース コード エディターを使用して手動でメッセージ マップを作成することもできます。