メッセージ マップ (MFC)
リファレンスのこのセクションでは、すべての メッセージ マッピング マクロ およびすべての CWnd
メッセージ マップ エントリと、対応するメンバー関数プロトタイプの一覧を示します。
カテゴリ | 説明 |
---|---|
ON_COMMAND メッセージ ハンドラー |
ユーザー メニューの選択またはメニュー アクセス キーによって生成されたメッセージ WM_COMMAND 処理します。 |
子ウィンドウの通知メッセージ ハンドラー | 子ウィンドウからの通知メッセージを処理します。 |
WM_ メッセージ ハンドラー |
WM_PAINT などのWM_ メッセージを処理します。 |
ユーザー定義メッセージ ハンドラー | ユーザー定義メッセージを処理します。 |
(このリファレンスで使用される用語と規則の説明については、 を参照してください。メッセージ マップの相互参照を使用する方法.)
Windows はメッセージ指向オペレーティング システムであることが理由で、Windows 環境向けのプログラミングの大部分にはメッセージ処理が関係しています。 キーストロークやマウス クリックなどのイベントが発生するたびに、そのイベントを処理する必要があるアプリケーションに対してメッセージが送信されます。
Microsoft Foundation Class ライブラリには、メッセージベースのプログラミングに最適化されたプログラミング モデルが用意されています。 このモデルでは、特定のクラスに対してどの関数がさまざまなメッセージを処理するかを指定した "メッセージ マップ" を使用します。 メッセージ マップには、どの関数がどのメッセージを処理するかを指定する 1 つ以上のマクロが含まれています。 たとえば、ON_COMMAND
マクロを含むメッセージ マップは、次のように記述されることがあります。
BEGIN_MESSAGE_MAP(CMyDoc, CDocument)
ON_COMMAND(ID_MYCMD, &CMyDoc::OnMyCommand)
END_MESSAGE_MAP()
ON_COMMAND
マクロは、メニュー、ボタン、およびアクセラレータ キーによって生成されるコマンド メッセージを処理するために使用します。 マクロ は、次のマップに使用できます。
Windows メッセージ
コントロールの通知
ユーザー定義メッセージ
コマンド メッセージ
登録済みのユーザー定義メッセージ
ユーザー インターフェイス更新メッセージ
メッセージの範囲
コマンド
ハンドラー メッセージの更新
コントロールの通知
メッセージ マップ マクロは重要なマクロですが、通常は直接記述する必要はありません。 これは、 クラス ウィザード を使用してメッセージ処理関数をメッセージに関連付けるときに、ソース ファイルにメッセージ マップ エントリを自動的に作成するためです。 メッセージ マップ エントリを編集または追加する場合は、いつでもクラス ウィザードを使用できます。
Note
クラス ウィザードでは、メッセージ マップ範囲はサポートされていません。 これらのメッセージ マップ エントリは、独自に作成する必要があります。
ただし、メッセージ マップは、Microsoft Foundation Class ライブラリの重要な部分です。 これらが何を実行するかを理解する必要があり、そのためのドキュメントが用意されています。