【问题标题】:Windows DPI Form ScalingWindows DPI 表单缩放
【发布时间】:2012-02-22 13:17:14
【问题描述】:

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

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

我的表单由两个 TLayouts 组成,一个左对齐,一个设置为客户端对齐,在左侧布局和客户端布局之间有一个垂直分隔控件。客户端布局上还有一个设置为客户端对齐的列表框。

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

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

有人有什么想法吗?

【问题讨论】:

    标签: delphi delphi-xe2 firemonkey


    【解决方案1】:

    一种可能是您没有完全按照说明布置控件和拆分器,as recommended on the TSplitter documentation

    如果您不这样做,很容易达到所有属性似乎都设置为正确值的地步,但不知何故,控件和拆分器就是不合作。我建议再试一次,特别注意获取具有正确值的 align 属性,即左侧组件上的 alLeft、拆分器上的 alLeft 和右侧组件上的 alClient

    【讨论】:

      猜你喜欢
      • 2014-11-22
      • 2020-05-18
      • 2018-04-11
      • 1970-01-01
      • 2018-04-19
      • 2017-04-03
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多