次の方法で共有


メッセージ マップ (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 ライブラリの重要な部分です。 これらが何を実行するかを理解する必要があり、そのためのドキュメントが用意されています。

関連項目

構造体、スタイル、コールバック関数とメッセージ マップ