我在C ++ Builder 2010中有一个应用程序,它启用了Visual Styles / Runtime主题,可以使用运行时查找按钮和选项卡。但是,我有一组复选框(TCheckBox),如果可能的话,我想覆盖它的运行时样式。
我的复选框用于切换各种颜色的图形叠加层。当我禁用运行时主题时,我可以设置复选框的背景以显示它将启用的颜色,如下所示:
启用运行时主题后,有没有办法实现同样的效果?
感谢stukelly,我可以选择性地禁用单个控件的视觉样式,但是在调用SetWindowTheme后,我似乎无法修改该控件的颜色或其他样式:
SetWindowTheme(CheckBox1->Handle, L" ", "");
答案 0 :(得分:3)
您可以尝试使用SetWindowTheme功能禁用每个复选框的主题。
SetWindowTheme(CheckBox1->Handle, NULL, "");
我不确定第二个参数是否需要NULL
或L" "
,如文档所述。
SetWindowTheme(CheckBox1->Handle, L" ", "");
我使用以下参考文献来回答这个问题
http://www.delphigroups.info/3/7/54654.html
borland.public.delphi.ide.general
答案 1 :(得分:1)
将每个复选框放在自己的面板上,并将其设置为您想要的颜色。