Windows DPI表单缩放

时间:2012-01-30 18:45:49

标签: delphi delphi-xe2 firemonkey

我以前一直在使用 VGScene (Firemonkey前身)创建一个应用程序,并且最近已切换到Delphi XE2的Firemonkey。

要在 VGScene 中扩展我的表单,我所要做的就是缩放VGScene对象的Root对象以扩展表单中的所有内容。但是我不确定如何使用FireMonkey完成此操作。

我的表单包含两个 TLayouts ,一个左对齐,一个设置为Client align,左侧和客户端布局之间有垂直拆分器控件。客户端布局上还有一个列表框,设置为客户端对齐。

我已经尝试了一个带有我所有控件的基础TLayout,并缩放基础TLayout但这不能正常工作,左侧布局正确缩放,但客户端布局的列表框似乎延伸超过右侧和底部客户端布局对象的边缘?即当你有一个完整的列表时,列表项超出了表单的右边缘(被截断),并且垂直滚动条没有完全显示,因为它超出了表单的底部。就好像客户端布局的宽度和高度缩放到比表单允许的大,但是它是否仍然不能填充表单的区域?

我试图缩放单个对象,就像缩放列表框一样,但这会产生相同的结果,列表框超出了表单的边界。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

一种可能性是您没有完全按照布局控件和拆分器的说明进行操作as recommended on the TSplitter documentation

如果你没有,很容易达到所有属性似乎都被设置为正确值的程度,但不知何故控制和分离器只是不合作。我建议您再次尝试,请注意使用正确的值获取align属性,即左侧组件为alLeft,拆分器为alLeftalClient为正确的组件。