CScrollBar を使用して、ダイアログ内の項目のリストをナビゲートしようとしています。ダイアログで OnVScroll メッセージをキャッチしています。スクロール バーは、バーの上部と下部にある矢印をクリックしたり、バーの範囲をクリックしてページ全体を進めたりすると正しく応答します。問題は、親指をドラッグしようとしても、マウス ボタンを離すまでまったく反応せず、親指が正しい位置に移動することです。
spy++ を使用して WM_VSCROLL メッセージを探しましたが、親指をクリックして離したときにのみ SB_THUMBTRACK モードで送信されているようですが、ドラッグ中は送信されていないようです。ただし、CScrollBar の msdn ページには、サムがドラッグされている間、これらのメッセージを継続的に送信する必要があると記載されています。私はそれらのメッセージを受け取っていないので、親指がどこにあるのかわからず、現在の位置を設定できません。
メッセージが他の場所で傍受されているとは思いません.1つ目は、すべてのメッセージをログに記録するように設定した場合でもspy ++がそれらを認識しなかったため、2つ目は、クリックして離したときにバーが2つのサムトラックメッセージを取得するためです。
ダイアログに WS_VSCROLL スタイルを指定するか、CScrollBar を作成してダイアログに配置するかに関係なく、この問題が発生します。
足りないものはありますか?