メッセージ マップ (MFC)
ここでは、すべてのメッセージ マップ マクロの一覧、および CWnd のすべてのメッセージ マップ エントリとそれに対応するメンバー関数のプロトタイプの一覧を示します。
分類 |
説明 |
---|---|
ユーザーのメニュー選択やキー入力によって生成される WM_COMMAND を処理します。 |
|
子ウィンドウからの通知メッセージを処理します。 |
|
WM_PAINT など、WM_ で始まるメッセージを処理します。 |
|
ユーザーが定義したメッセージを処理します。 |
このリファレンスで使用する用語と規約については、「メッセージ マップ クロス リファレンスの使い方」を参照してください。
Windows はメッセージ指向のオペレーティング システムなので、Windows 環境のプログラミングでは頻繁にメッセージを扱います。 キーストロークやマウス クリックなどのイベントが発生すると、メッセージがアプリケーションに送られ、イベントが処理されます。
Microsoft Foundation Class ライブラリには、メッセージ ベースのプログラミング用に最適化されたプログラミング モデルが用意されています。 このモデルでは、"メッセージ マップ" を使用して、特定のクラスの各種メッセージを処理する関数を指定します。 メッセージ マップは、メッセージと処理関数を対応付けるマクロで構成されます。 たとえば、ON_COMMAND マクロはメッセージ マップで次のように使われます。
BEGIN_MESSAGE_MAP(CMyDoc, CDocument)
ON_COMMAND(ID_MYCMD, &CMyDoc::OnMyCommand)
END_MESSAGE_MAP()
ON_COMMAND マクロでは、メニュー、ボタン、およびアクセラレータ キーで発生したコマンド メッセージを扱います。 マクロによって、以下のメッセージを対応付けることができます。
Windows メッセージ
コントロール通知
ユーザー定義メッセージ
コマンド メッセージ
登録済みのユーザー定義メッセージ
ユーザー インターフェイス更新メッセージ
メッセージ範囲
コマンド
更新ハンドラー メッセージ
コントロール通知
メッセージ マップ マクロは重要ですが、直接使用することは通常ありません。 [プロパティ] ウィンドウでメッセージ処理関数とメッセージを関連付けると、メッセージ マップ エントリが自動的にソース ファイル内に作成されます。 メッセージ マップ エントリの編集および追加は、[プロパティ] ウィンドウで行うことができます。
注意
[プロパティ] ウィンドウでは、メッセージ マップ範囲を指定できません。 各メッセージ マップ エントリを手作業で記述してください。
メッセージ マップは Microsoft Foundation Class ライブラリの主要部分です。 機能を理解しておいてください。関連ドキュメントも用意されています。