0

編集制御ラッパークラスを作成しています。クラスがラップする編集コントロールはサブクラス化されているため、仮想メソッド(または「イベント」などvirtual void OnChange())をオーバーライドできます。私の唯一の質問は、たとえば、EN_CHANGEcontrolsサブクラスプロシージャで通知を処理する場合でも、ユーザーEN_UPDATEは親Windowsプロシージャで通知を処理できるかどうかです。または、コントロールをサブクラス化するということは、すべての通知がコントロールの新しいウィンドウプロシージャによって処理されることを意味しますか?

4

2 に答える 2

1

CallWindowProc(original window procedure)コントロールのデフォルトが代わりに発生するように、サブクラスが処理しないメッセージを指定する必要があります。

つまり、EN_通知はコントロールに送信されず、親に直接送信されます。

于 2012-10-22T20:34:19.420 に答える
0

コントロールのウィンドウ プロシージャ内で EN_CHANGE 通知を処理することはできません。この通知は、親ウィンドウに直接送信されます。

その他のウィンドウ メッセージについては、どこで処理するかはユーザー次第です。通常、ウィンドウ マネージャはメッセージを 1 つのウィンドウにのみ送信します。ウィンドウ プロシージャでメッセージを処理すると、他のユーザーはそれを見ることができなくなります。

于 2012-10-22T20:33:51.207 に答える