如何使用TVertScrollBox的OnViewportPositionChange
How to Use the OnViewportPositionChange of TVertScrollBox
我正在尝试弄清楚如何在视觉组件达到特定级别时使用 TVertScrollBox 的 OnViewportPositionChange
作为触发器。在我看来,这个事件 OnViewportPositionChange
对这个目的很有用。
procedure TformMain.VertScrollBox1ViewportPositionChange(Sender: TObject;
const OldViewportPosition, NewViewportPosition: TPointF;
const ContentSizeChanged: Boolean);
begin
...
end;
如果 NewViewportPosition
满足条件 (TPointF),我如何 detect/determine 触发它 True 可视组件设置为可见。
如果有人能提供快速示例,我将不胜感激。
ATTEMPT 1: 无响应,我无法使用此操作数类型 >=
.
if NewViewportPosition = PointF(VertScrollBox1.ViewportPosition.X, 720) then
begin
ShowMessage('Success!');
end;
TPointF
有 2 个属性可供您使用:.X
和 .Y
。您可以轻松地单独检查值,例如:
if (NewViewPortPosition.X >= CurrPosition.X) or (NewViewPortPosition.Y >= CurrPosition.Y)
我正在尝试弄清楚如何在视觉组件达到特定级别时使用 TVertScrollBox 的 OnViewportPositionChange
作为触发器。在我看来,这个事件 OnViewportPositionChange
对这个目的很有用。
procedure TformMain.VertScrollBox1ViewportPositionChange(Sender: TObject;
const OldViewportPosition, NewViewportPosition: TPointF;
const ContentSizeChanged: Boolean);
begin
...
end;
如果 NewViewportPosition
满足条件 (TPointF),我如何 detect/determine 触发它 True 可视组件设置为可见。
如果有人能提供快速示例,我将不胜感激。
ATTEMPT 1: 无响应,我无法使用此操作数类型 >=
.
if NewViewportPosition = PointF(VertScrollBox1.ViewportPosition.X, 720) then
begin
ShowMessage('Success!');
end;
TPointF
有 2 个属性可供您使用:.X
和 .Y
。您可以轻松地单独检查值,例如:
if (NewViewPortPosition.X >= CurrPosition.X) or (NewViewPortPosition.Y >= CurrPosition.Y)