2

我在 Delphi XE3 上开发我的应用程序。我有一个非常长的表格(字符串网格)的框架 - 高度约为 10000 像素(但框架的高度要短得多)。由于框架上的其他元素(按钮等),我不能使用网格滚动条并从框架中使用它。为此,我设置了框架的属性 AutoScroll=True。但是有什么问题。当表格获得焦点时,框架的滚动条滚动到零位置。这是非常没用的,例如,我将滚动条设置在一半位置,切换到另一个帧(我在 TPageControl 的页面中有一些帧数),当回到第一帧时,我看到该滚动条处于零位置。

我怎么能理解,当框架上的某些对象获得焦点时(由于 AutoScroll=True 属性)尝试显示该对象。但是由于对象很大(我重复表格的高度约为 10000 像素),框架将滚动条设置为零位置(即滚动位置发生了变化)。

那么,我怎样才能禁用该功能呢?

4

1 回答 1

1

在这里找到相同的问题How can I disable the scroll-in-to-view behavior of TScrollBox? 在我的情况下,我使用覆盖 AutoScrollInView 过程。完全禁用此过程的实施。

procedure TfrSection.AutoScrollInView(AControl: TControl);
begin
//  inherited;
end;

有用。

于 2013-06-27T05:26:10.567 回答