我在 C++ Builder 2010 中有一个应用程序,它启用了视觉样式/运行时主题,可以使用按钮和选项卡的运行时外观。但是,如果可能的话,我有一组复选框 (TCheckBox),我想覆盖它们的运行时样式。
我的复选框用于切换一些图形叠加层的各种颜色。当我禁用运行时主题时,我可以设置复选框的背景以显示它将启用哪种颜色,如下所示:
启用运行时主题时是否可以实现相同的效果?
多亏了stukelly,我可以有选择地禁用各个控件的视觉样式,但在调用 SetWindowTheme 后,我似乎无法修改该控件的颜色或其他样式,如下所示:
SetWindowTheme(CheckBox1->Handle, L" ", "");
最佳答案
您可以尝试使用 SetWindowTheme 禁用每个复选框的主题功能。
SetWindowTheme(CheckBox1->Handle, NULL, "");
我不确定第二个参数是否需要为 NULL
或 L""
,如文档所述。
SetWindowTheme(CheckBox1->Handle, L" ", "");
我使用以下引用资料来回答这个问题。
http://www.delphigroups.info/3/7/54654.html
borland.public.delphi.ide.general
关于c++ - 启用视觉样式后我可以覆盖控件的颜色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6021888/