ハンドラ メソッドのオーバーライド
メッセージ処理の変更 への移動
コンポーネントがある特定のメッセージを処理する方法を変更するには、そのメッセージのメッセージ処理メソッドをオーバーライドします。コンポーネントがその特定のメッセージをまだ処理するようになっていない場合、新しいメッセージ処理メソッドを宣言する必要があります。
メッセージ処理メソッドをオーバーライドするには、新しいメソッドを、コンポーネントにおいて、オーバーライドするメソッドと同じメッセージ インデックスで宣言します。override 指令は使用してはいけません。message 指令を使用してメッセージ インデックスをマッチングする必要があります。
メソッド名および単一 var パラメータの型は、オーバーライドされるメソッドで一致させる必要はない点に留意してください。重要なのは、メッセージ インデックスのみです。しかしながら、分かりやすくするためには、メッセージ処理メソッドの命名規則に従い、処理するメッセージを表す名前にするとよいでしょう。
BEGIN_MESSAGE_MAP MESSAGE_HANDLER(parameter1, parameter2, parameter3) END_MESSAGE_MAP
- parameter1 は、Windows が定義したのと同じメッセージ インデックス
- parameter2 は、メッセージの構造型
- parameter3 は、メッセージ メソッドの名前
MESSAGE_HANDLER マクロは必要に応じていくらでも、 BEGIN_MESSAGE_MAP および END_MESSAGE _MAP マクロの間に入れることができます。