【发布时间】:2017-04-13 23:33:18
【问题描述】:
A.创建一个 Delphi VCL Forms 应用程序。
B.在表单上放一个TTreeView,命名为tvTest并用item填充它并设置Treeview的大小,这样滚动条在TreeView上是可见的,例如:
C.在表单上放置一个按钮,并在其点击处理程序中编写以下代码:
procedure TForm1.btnScrollClick(Sender: TObject);
begin
tvTest.ScrollBy(tvTest.Width, 0);
end;
D.现在运行程序并单击按钮。假设水平滚动条应该从左到右滚动。但什么也没有发生。为什么?
那么我怎样才能让滚动条(当然还有滚动条的内容)从左到右、从右到左、向下或向上滚动?
Delphi 10.1 柏林更新 2
Windows 7 x64 SP1
编辑:当我使用此代码时(类似于 Sami 的建议):
tvTest.ScrollBy(-3, -3);
...我得到了这件现代艺术作品:
【问题讨论】:
-
试试
tvTest.ScrollBy(3, 3);并点击按钮5次你会明白为什么 -
这只会让 TreeView 的 CONTENT 滚动,而不是滚动条。但是在单击了几次按钮之后,我将表单部分拖到了屏幕区域之外,当我将其拖回时,TreeView 内容又回到了原来的位置。所以 TreeView 并没有真正滚动,但只有它看起来滚动并且重新绘制时就像以前一样!为什么?我怎样才能真正滚动 Treeview?
标签: delphi scroll treeview delphi-10.1-berlin