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

我注意到TForm中有HorzScrollBar和VertScrollBar TControlScrollBar,但是即使将它们选中为可见,也无法使它们可见或可用。

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

我是否必须使用外部TScrollBar(垂直和水平滚动条)来实现TForm客户区的滚动(按程序),还是可以使用HorzScrollBar和VertScrollBar TControlScrollBar?

最佳答案

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

但这要求您使用控件来绘制图像。如果即使仅在窗体画布上直接绘制(绘制)也要显示滚动条,则可以通过将Range属性设置为绘制区域的实际范围来实现。

例如。

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


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

10-04 22:48