A.创建Delphi VCL Forms应用程序 .
B.在表单上放置一个TTreeView,将其命名为 tvTest
并将其填入项目并设置Treeview的大小,以便在TreeView上显示滚动条,例如:
C.在表单上放一个按钮,在其单击处理程序中编写以下代码:
procedure TForm1.btnScrollClick(Sender: TObject);
begin
tvTest.ScrollBy(tvTest.Width, 0);
end;
D.现在运行程序并单击按钮 . 据说水平滚动条应该从左向右滚动 . 但没有任何反应 . 为什么?
那么如何使滚动条(当然还有滚动条的内容)从左到右,从右到左,向下或向上滚动?
Delphi 10.1柏林更新2
Windows 7 x64 SP1
EDIT :当我使用此代码时(类似于Sami的建议):
tvTest.ScrollBy(-3, -3);
......我得到了这件现代艺术品:
1 回答
要滚动TreeView,请发送它(或
Perform
)WM_VSCROLL和/或WM_HSCROLL消息 .要么
有关参数,请参阅消息的相应文档 .
ScrollBy
是VCL的ScrollWindow API包装器,它会移动控件的内容 . 它正在寻找.1403718_ .