Firemonkey:尽管自动调整大小 属性 true,但 TLabel 文本被截断

Firemonkey: TLabel text truncated despite autosize property true

我的 Firemonkey 应用程序遇到了一个奇怪的问题。这是我的应用程序在本地 Windows 8.1 机器上 运行 时的屏幕截图。在蓝色面板内,是一个自动调整尺寸的标签,带有特意长的描述以确保调整尺寸有效。

一切似乎都很好,直到我 运行 在特定的远程计算机上使用相同的应用程序。这是同一应用程序的屏幕截图,运行ning 在远程 Windows Server 2008 R2 计算机上。

如您所见,尽管其自动大小 属性 设置为 true,但蓝色面板内的标签现在正在调整 运行。此外,"Show Logs" 按钮也有它的文本 t运行。

除了验证标签的自动大小 属性 之外,我还尝试 运行 以不同的 window 大小设置远程机器以查看问题是否与此有关与屏幕分辨率。但是,该标签继续被 t运行 分类。

Firemonkey 在不同操作系统之间绘制不同内容时是否存在任何已知问题?远程计算机上是否存在任何可能导致应用程序无法正确呈现的显示设置?为了缩小/解决问题的范围,我还应该查看其他什么吗?

默认情况下,TLabel 设置为 WordWrap = True。尝试将其设置为 false。我在移动设备上遇到了类似的问题,关闭 WordWrap 解决了这个问题。

在 XE8 和 Windows 上修改了一系列设置后,我终于找到了解决方案。机器 运行 Windows Server 2008 R2 关闭了所有视觉增强设置,这导致应用程序正确呈现。

需要启用的具体设置是"Use Visual Styles on Windows and Buttons"。看来此设置与 Aero 有关,因为它在我的 Windows 8.1 机器上不可用。

要进行此设置,请导航至:

Control Panel -> System -> Advanced System Settings -> Advanced Tab -> Settings Button in Performance Panel -> Visual Effects Tab -> Check "Use Visual Styles on Windows and Buttons"

启用此设置后,我能够使我的应用程序正确呈现。此外,我能够通过操纵此设置在其他机器上重现该问题。