Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Firemonkey:TLabel文本被截断,尽管autosize属性为true_C++_Firemonkey_C++builder Xe8 - Fatal编程技术网

C++ Firemonkey:TLabel文本被截断,尽管autosize属性为true

C++ Firemonkey:TLabel文本被截断,尽管autosize属性为true,c++,firemonkey,c++builder-xe8,C++,Firemonkey,C++builder Xe8,我在Firemonkey应用程序中遇到了一个奇怪的问题。下面是我的应用程序在本地Windows 8.1计算机上运行时的屏幕截图。在蓝色面板内,是一个自动调整尺寸的标签,带有专门的长描述,以确保调整尺寸有效 一切似乎都很好,直到我在一台特定的远程机器上运行相同的应用程序。下面是在远程Windows Server 2008 R2计算机上运行的同一应用程序的屏幕截图 如您所见,蓝色面板内部的标签现在被截断,尽管其“自动大小”属性设置为true。此外,“显示日志”按钮的文本也被截断 除了验证标签的自

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

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

如您所见,蓝色面板内部的标签现在被截断,尽管其“自动大小”属性设置为true。此外,“显示日志”按钮的文本也被截断

除了验证标签的自动大小属性外,我还尝试在不同的窗口大小下运行远程机器,以查看问题是否与屏幕分辨率有关。然而,标签继续被截断


Firemonkey在不同的操作系统之间绘制不同的东西时有任何已知的问题吗?远程计算机上是否存在可能导致应用程序渲染不正确的显示设置?要缩小/解决这个问题,我还需要看其他什么吗?

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

在XE8和Windows上修改了一系列设置后,我终于找到了解决方案。运行Windows Server 2008 R2的计算机已关闭其所有视觉增强设置,从而导致应用程序正确渲染

需要启用的特定设置是“在窗口和按钮上使用视觉样式”。似乎此设置与Aero有关,因为它在我的Windows 8.1计算机上不可用

要获得此设置,请导航到:

控制面板->系统->高级系统设置->高级选项卡->性能面板->视觉效果选项卡中的设置按钮->选中“在窗口和按钮上使用视觉样式”


启用此设置后,我可以使应用程序正确渲染。此外,通过操作此设置,我可以在其他机器上复制此问题。

谢谢您的建议。在我的情况下,似乎word wrap已设置为false。是。事实证明,设置Autosize=true会自动设置WordWrap=false。我现在记得,我的问题是对齐+换行,而不是自动调整大小+换行。字体在不同的系统上呈现不同,这可能解释了按钮的文本问题。实际上,按钮在两个屏幕封盖中看起来大小不同,但我不知道这是否是屏幕封盖、不同的显示器分辨率或其他原因造成的。可能的解决方法:不使用自动调整大小,而是将其设置为固定长度,这是允许的最大长度,然后确保其左对齐。