2015-11-23 21 views
0

我遇到了一個與我的Firemonkey應用程序有關的奇怪問題。這是在我的本地Windows 8.1機器上運行時我的應用程序的屏幕截圖。在藍色面板內部,是一個自動調整大小的標籤,其中有一個特意描述的長度以確保尺寸確定正常。Firemonkey:儘管autosize屬性截斷了TLabel文本true

enter image description here

似乎一切都很好,直到我運行一個特定的遠程計算機上的相同的應用程序。以下是在遠程Windows Server 2008 R2計算機上運行的相同應用程序的屏幕截圖。

enter image description here

正如你所看到的,在藍色面板的內側的標籤正在被截斷,儘管它的自動調整大小屬性被設置爲true。另外,「顯示日誌」按鈕也會截斷它的文本。

除了驗證標籤的自動尺寸屬性之外,我還嘗試以不同的窗口大小運行遠程計算機,以查看問題是否與屏幕分辨率有關。但是,標籤仍然被截斷。

Firemonkey是否有任何已知問題在不同的操作系統上繪製不同的事物?遠程計算機上是否存在可能會導致應用程序錯誤顯示的顯示設置?還有什麼我應該着眼於嘗試縮小/解決問題?

+0

字體在不同的系統上渲染的方式不同,這可能會解釋按鈕的文本問題。該按鈕實際上在兩個屏幕大小上看起來大小不同,但我不知道這是屏幕截圖的僞影,不同的顯示器分辨率還是什麼。 –

+0

可能的解決方法:不是使用autosize,而是將其設置爲最大允許長度的固定長度,然後確保它是左對齊的。 –

回答

0

經過在XE8和Windows上的一堆設置後,我終於找到了解決方案。運行Windows Server 2008 R2的計算機已關閉所有視覺增強設置,導致應用程序正確呈現。

需要啓用的具體設置是「在Windows和按鈕上使用視覺樣式」。看起來這個設置與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"

enter image description here

啓用此設置後,我能得到我的應用程序正確渲染。另外,我可以通過操作這個設置在其他機器上覆制問題。

0

默認情況下,TLabel設置爲WordWrap = True。嘗試將其設置爲false。我在移動設備上遇到了類似的問題,並將WordWrap關閉。

+0

感謝您的建議。看起來在我的情況下,自動換行已經被設置爲false。 –

+0

是的。事實證明,設置Autosize = true會自動設置WordWrap = false。我現在記得,我的問題是Alignment + WordWrap,而不是Autosize + WordWrap。 –