我想在 TForm 的列表中使用 Canvas 绘制小位图,但超出 TForm 的大小限制使用垂直和水平滚动导航并允许用户显示整个区域。
我注意到 TForm 中有 HorzScrollBar 和 VertScrollBar TControlScrollBar ,但无法看到它们或者可用,即使它们被检查为可见。
我认为他们只关注 TForm 的组成部分,如果我们调整 TForm 的大小,它们应该出现。
我是否必须使用外部 TScrollBar (垂直和水平)来实现 TForm 的客户区域的滚动(通过程序)或者是否有办法使用 HorzScrollBar 和 VertScrollBar TControlScrollBar ?
答案 0 :(得分:3)
要在需要时自动显示滚动条(可见区域外的控件),请设置AutoScroll := true;
。
但这要求您使用控件来绘制图像。如果要显示滚动条,即使您只在表单画布上直接绘制(绘画),也可以通过将Range
属性设置为绘制区域的实际范围来实现。
E.g。
procedure TForm24.FormCreate(Sender: TObject);
begin
self.HorzScrollBar.Range := 1000;
end;
因此,要回答您的问题,您可以使用内置滚动条。