9

a の垂直スクロールバーがTScrollBox一番上にあるかどうかは簡単に検出できます。

IsScrollBarAtTop := ScrollBox1.VertScrollBar.Position = 0;

ここに画像の説明を入力

しかし、 a の垂直スクロールバーが一番下にあるかどうかをどのように検出できますTScrollBoxか?

ここに画像の説明を入力

4

2 に答える 2

9

Vcl.Forms.TControlScrollBar.Rangeから:

Range は、関連付けられたコントロールのクライアント領域の仮想サイズ (ピクセル単位) を表します。たとえば、フォームの水平スクロール バーの Range が 500 に設定され、フォームの幅が 200 の場合、スクロール バーの Position は 0 から 300 まで変化します。

IsScrollBarAtBottom :=  ScrollBox1.VertScrollBar.Position =
  (ScrollBox1.VertScrollBar.Range - ScrollBox1.ClientHeight);

範囲がスクロールボックスの高さよりも小さい場合、スクロールバーは表示されません。

于 2016-12-05T09:14:57.380 に答える