2
私はビュー内にウィンドウを作成し、そのウィンドウ内にスクロールバーコントロールを作成します。親ウィンドウのSetCapture()後のサブコントロールの応答について
ウィンドウには編集モードがあります。編集モードでは、SetCapture()が呼び出され、すべてのマウスイベントメッセージがウィンドウに送信されます。したがって、そのビューの他のウィンドウは無効になり、編集モードでマウスを操作する機会はありません。
しかし、それは次の問題を引き起こします: - 編集モードでは、スクロールバーのマウス操作は応答しません。親ウィンドウへのSetCapture()のためです。
私はどのようにしてSetCapture()ウィンドウを作ることができますが、サブコントロールはマウスの操作に反応しますか?
この回答は、ここで説明したMSDNのドキュメントと一致しません。https://msdn.microsoft.com/en-us/library/windows/desktop/ms646262(v=vs.85).aspx ここの例(https://msdn.microsoft.com/en-us/library/windows/desktop/ms645602(v=vs.85).aspx#drawing_lines)で行われているように思えますが、関数を使用する制約。 – morechilli
'SetCapture' APIの目的は、マウスがウィンドウの上にあるかどうかにかかわらず、特定のウィンドウからマウスイベントをキャプチャすることです。制約であるかどうかにかかわらず、 'WM_ * BUTTONDOWN'ハンドラ以外で呼び出された場合、マウスメッセージはキャプチャされません。 MSDNが失われます。私の勝ち。 – l33t
私は異なる行動を観察したと信じています。 – morechilli