我在C++ Builder 2010中有一個應用程序,它具有啓用了視覺樣式/運行時主題以使用按鈕和選項卡的運行時查找。但是,如果可能的話,我有一組複選框(TCheckBox),我想重寫運行時風格。啓用視覺樣式時,是否可以覆蓋控件的顏色?
我的複選框用於爲各種顏色切換一些圖形疊加。當我禁用了運行時主題時,我可以設置複選框的背景以顯示它將啓用的顏色,如下所示:
有沒有一種方法可以在運行時主題啓用時實現同樣的效果?
感謝stukelly,我可以有選擇地禁用各個控件的視覺風格,但我似乎無法我打電話SetWindowTheme如下後修改控件的顏色或其他造型:
SetWindowTheme(CheckBox1->Handle, L" ", "");
這麼多面板有點麻煩,但它似乎工作,所以我會把它標記爲現在的答案。 – Troyen 2011-05-25 22:40:05
啓用主題後,很多控件都會獲取父控件繪製的背景。少數沒有ParentBackground屬性來控制TPanel和Tscrollbox這種行爲。 ParentColor和擴展顏色屬性僅適用於主題被禁用時。雖然使用面板的凌亂不僅適用於主題,而且適用於DevExpress的ExpressSkins for VCL等各種皮膚庫。 – Brian 2011-06-02 16:48:52