0

メインウィンドウhwndFrameには、子hwndChildを持つ子がありhwndDescendantます。これらの 2 つの子には、非クライアント領域がありません。hwndDescendantの領域の大部分を占めているhwndChildため、hwndChildの単なる「境界」のように見えhwndDescendantます。この「境界」の幅は 4 ピクセルのみです。(ただし、 のサイズはhwndChildこれよりもはるかに大きい)。

WM_MOUSELEAVE「hwndChild」を追跡したい。マウスをゆっくり動かすと、これでうまくいきます。hwndFrameしかし、マウスを からへ、hwndDescendantまたはその逆に非常に速く動かした場合、hwndChildを受信しなかったためWM_MOUSEMOVE、どちらもWM_MOUSELEAVE.

また、マウスがまたはhwndChildのいずれかhwndFrameに移動すると、 hwndDescendantWM_MOUSELEAVE が生成されます。hwndChildしかし、から移動するときに が生成されhwndDescendantないことを願っていますWM_MOUSELEAVE

hwndDescendantのウィンドウ プロシージャをサブクラス化してこの問題を解決したくありませんhwndChild

SetCapture方法は好ましくありません。この場合、この問題に対処できる最善の方法は何ですか?

4

0 に答える 0