スクロールバーを、MaxやMinプロパティで設定した以外の好きな場所で、
これ以上動かさないように固定するにはどうしたらいいんでしょうか?
たとえば、Minプロパティは0の状態だけど、事情があって今は24以下にしてほしくない場合、
最低25で固定され、動かなくなるように。
OnScrollイベントの中で、引数のScrollPosを設定すればいいというのがわかったんですけど、
これだと、スクロールバー上の四角をつかんで動かしている場合、
四角の場所が元に戻るのが、マウスボタンを離した後になってしまいます。
これを、四角をつかんで移動中でも、四角が行ってほしくない場所で止まり、それ以上動かなくなるようにしたいんです。
途中でWM_LBUTTONUPを送るなど試してみたんですけど、
やり方が間違っていたのか、何の効果もなく・・・。
いい方法があったら教えてください。お願いします。
ReleaseCaptureすれば、25で止まりますが、その代わりスクロールバーを離したことと同じになります。
こんな感じですね。
if ScrollPos < 25 then
begin
ReleaseCapture;
ScrollPos := 25;
end;
わぁ、ありがとうございます(^.^)
これです。こんな感じをさがしていました。スクロールバーを放したのと同じようにしたかったんです。
ReleaseCaptureの直後、スクロールバーの色がおかしくなったんですけど、
それも直後に再描画を促すことで何とかなりました。
にしのさん、ありがとうございます!
ツイート | ![]() |