c++firemonkeyc++builder-xe8

Firemonkey: TLabel text truncated despite autosize property true


I am coming across a strange issue with my Firemonkey application. Here is a screenshot of my application when run on my local Windows 8.1 machine. Inside the blue panel, is an auto sizing label with a purposely long description to make sure the sizing is working.

enter image description here

Everything seems fine, until I run the same application on a particular remote machine. Here is a screenshot of the same application, running on a remote Windows Server 2008 R2 machine.

enter image description here

As you can see, the label inside of the blue panel is now being truncated, despite its auto size property being set to true. Additionally, the "Show Logs" button has it's text truncated as well.

In addition to verifying the auto size property of the label, I have tried running the remote machine at different window sizes to see if the issue had something to do with screen resolution. However, the label continued to be truncated.

Does Firemonkey have any known issues with drawing things differently across different operating systems? Are there any display settings on the remote machine that could cause the application to render incorrectly? Anything else I should looks at to try and narrow down / resolve the issue?


Solution

  • After tinkering around with a bunch of settings both in XE8 and on Windows I finally found the solution. The machine running Windows Server 2008 R2 had all of its visual enhancement settings turned off which caused the application to render in correctly.

    The specific setting which needed to be enabled was "Use Visual Styles on Windows and Buttons". It appears this setting has to do with Aero as it is not available on my Windows 8.1 machine.

    To get to this setting, navigate to:

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

    enter image description here

    With this setting enabled, I was able to get my application to render correctly. Additionally, I was able to replicate the problem on other machines by manipulating this setting.