SCROLLBOXの挙動について


あそう  2009-05-28 08:18:55  No: 34545

ScrollBoxに、Scrollboxの表示サイズよりも十分大きなTImageを貼り付け、スクロール可能な状態にする。
フォームを開いたときに、TImageの任意の点がクライアント領域の中央に来るように縦横それぞれのScrollBar.Positionを変更したい。

ということで、例えば、imageのサイズが縦横1000×2000ピクセル、ScrollBarのRangeもimageのサイズと同じ場合、

HorzScrollBar.Position := 500;
VertScrollBar.Position := 1000;

とすればちょうど中央に表示されそうに思うのですが、なぜかいつも全然違う同じ場所しか表示されません。

なにかコツがあるのでしょうか。


ttt  2009-05-28 08:32:26  No: 34546

コントロールの座標系の原点はあくまで左上隅なので、
それだとimageの中央がスクロール領域の左上にくるように設定していることになりますね。
さらにScrollBoxのサイズの半分を引いてみたらどうですか?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加