TScrollBar和TControlScrollBar滚动TForm客户区有什么区别

What is the difference between TScrollBar and TControlScrollBar to scroll TForm client area

我想用 CanvasTForm 的列表中绘制小位图,但超出了限制TForm 的大小并使用垂直和水平滚动条进行导航并允许用户显示整个区域。

我注意到HorzScrollBarVertScrollBarTControlScrollBarTForm,但不可能使它们可见或可用,即使它们被选中为可见。

我想他们只关心 TForm 的组件,如果我们调整 TForm 的大小,它们应该会出现。

我是否必须使用外部 TScrollBar(垂直和水平的)来实现 TForm[= 的客户区的滚动(通过程序) 32=] 或者有没有办法使用 HorzScrollBarVertScrollBar TControlScrollBar?

要在需要时自动显示滚动条(可见区域外的控件)设置 AutoScroll := true;

但这需要您使用控件来绘制图像。如果您想要显示滚动条,即使您只是直接在表单 canvas 上绘制(绘制),您可以通过将 Range 属性 设置为绘制区域的实际范围来实现.

例如

procedure TForm24.FormCreate(Sender: TObject);
begin
  self.HorzScrollBar.Range := 1000;
end;

因此,要回答您的问题,您可以使用内置滚动条。