次の方法で共有


リフレクション メッセージ用のメッセージ ハンドラーの定義

新しい MFC コントロール クラスを作成したら、そのクラスのメッセージ ハンドラーを定義できます。 反映されたメッセージ ハンドラーを使用すると、親がメッセージを受信する前に、コントロール クラスが独自のメッセージを処理できます。 MFC CWnd::SendMessage 関数を使用して、コントロールから親ウィンドウにメッセージを送信できます。

この機能を使用すると、たとえば、親ウィンドウに依存せずに再描画するリスト ボックスを作成できます (所有者が描画)。 反映されたメッセージの詳細については、「 反映されたメッセージの処理」を参照してください。

同じ機能を持つ ActiveX コントロール を作成するには、ActiveX コントロールのプロジェクトを作成する必要があります。

Note

次に説明するように、クラス ウィザードを使用して ActiveX コントロールの反映されたメッセージ (OCM_Message) を追加することはできません。 これらのメッセージは手動で追加する必要があります。

クラス ウィザードから反映されたメッセージのメッセージ ハンドラーを定義するには

  1. リスト、鉄筋コントロール、ツールバー、ツリー コントロールなどのコントロールを MFC プロジェクトに追加します。

  2. クラス ビューで、コントロール クラスの名前をクリックします。

  3. クラス ウィザードで、コントロール クラス名が Class Name リストに表示されます。

  4. Messages タブをクリックして、コントロールに追加できる Windows メッセージを表示します。

  5. ハンドラーを定義する対象の反映されたメッセージを選択します。 反映されたメッセージは等号 (=) でマークされます。

  6. クラス ウィザードの右側の列のセルをクリックして、ハンドラーの推奨名を <add>HandlerName として表示します。 (たとえば、 =WM_CTLCOLOR メッセージ ハンドラーは、 <add>CtlColor) を提案します。

  7. 推奨される名前をクリックして受け入れます。 ハンドラーがプロジェクトに追加されます。

  8. メッセージ ハンドラーを編集または削除するには、手順 4 から 7 を繰り返します。 編集または削除するハンドラー名を含むセルをクリックし、適切なタスクをクリックします。

関連項目

マップ (関数にメッセージを)
コード ウィザードを使用した機能の追加
クラスの追加
メンバー関数の追加
メンバー変数の追加
仮想関数のオーバーライド
MFC メッセージ ハンドラー
クラス各部へのジャンプ