編集制御ラッパークラスを作成しています。クラスがラップする編集コントロールはサブクラス化されているため、仮想メソッド(または「イベント」などvirtual void OnChange()
)をオーバーライドできます。私の唯一の質問は、たとえば、EN_CHANGE
controlsサブクラスプロシージャで通知を処理する場合でも、ユーザーEN_UPDATE
は親Windowsプロシージャで通知を処理できるかどうかです。または、コントロールをサブクラス化するということは、すべての通知がコントロールの新しいウィンドウプロシージャによって処理されることを意味しますか?
質問する
272 次
2 に答える
1
CallWindowProc(original window procedure)
コントロールのデフォルトが代わりに発生するように、サブクラスが処理しないメッセージを指定する必要があります。
つまり、EN_
通知はコントロールに送信されず、親に直接送信されます。
于 2012-10-22T20:34:19.420 に答える
0
コントロールのウィンドウ プロシージャ内で EN_CHANGE 通知を処理することはできません。この通知は、親ウィンドウに直接送信されます。
その他のウィンドウ メッセージについては、どこで処理するかはユーザー次第です。通常、ウィンドウ マネージャはメッセージを 1 つのウィンドウにのみ送信します。ウィンドウ プロシージャでメッセージを処理すると、他のユーザーはそれを見ることができなくなります。
于 2012-10-22T20:33:51.207 に答える