• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:スクロールバーの動作で困っております。)

スクロールバーの動作で困っております

このQ&Aのポイント
  • スクロールボックスを画面の隅まで移動させる方法はありますか
  • スクロールバーの動作で困っています。特に、横のサイズnMaxを設定する際にオーバーフローの問題が発生しています。
  • オーバーフローした場合、スクロールボックスを後部に移動させることができません。解決策をご教示いただけないでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

当方は MFCダイアログベース、Win32APIベースでの検証をしておりますが つまみを動かしている最中でも変化するようです ・・・ MFCダイアログベースは 普通のスクロールバーコントロールとダイアログのスクロールバー Win32APIは ウィンドウのスクロールバー にて検証しました コモンコントロールのフラットスクロールバーだとコントロールに対するScrollイベントを記述しないといけないようですよ

oppenheimer
質問者

お礼

回答ありがとうございます。 先に教えて頂いた方法で、関数をFlatSB_GetScrollInfoに変えたらすんなりうまくいきました。 ご教示感謝いたします。有難うございました。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

SCROLLINFOのnTrackPosからデータを取得してはいかがでしょう トラッキングデータ取得用のSCROLLINFO型変数を用意しておきます SCROLLINFO siVal; メッセージハンドラ部で case SB_THUMBTRACK: ZeroMemory( &siVal, sizeof( SCROLLINFO ) ); siVal.cbSize = sizeof( SCROLLINFO ); siVal.fMask = SIF_ALL; ::GetScrollInfo( hWnd, SB_HORZ, &siVal ); dx = siVal.nTrackPos - sih.nPos; といった具合ですが ・・・

oppenheimer
質問者

お礼

回答ありがとうございます。 GetScrollInfoを使ってnTrackPosの情報をみましたが、スクロールバーが停止している場合のポジションは採取できるのですが、動かしている場合の情報はどうも取れないようです。 でも、これを手がかりにもう少し探って見ます。もし、この結果で何か分かれば情報を頂きたく宜しくお願いします。