2013-08-26 28 views
4

即使使用vcl,樣式,某些組件也會使用Color屬性設置來繪製其顏色。因此,當使用Metro黑暗風格(接近黑色)並將組件顏色設置爲clWindow時,組件顏色與樣式不匹配。有沒有辦法在使用vcl.style時獲取表單背景顏色,以便可以將組件的顏色屬性設置爲與表單樣式的背景顏色相匹配?如何使用VCL.Styles獲取窗體背景顏色

可以通過在樣式設計器中加載樣式來獲得顏色,但我希望在運行時獲取顏色值。

回答

9

可以使用GetSystemColor功能通過適當的系統顏色不斷得到

例如獲得TEDIT組件使用

TStyleManager.ActiveStyle.GetSystemColor(clWindow) 

而得到的默認背景色的背景色形式嘗試

TStyleManager.ActiveStyle.GetSystemColor(clBtnFace) 
0

您也可以使用:

StyleServices.GetStyleColor(scWindow)