我在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