如何更改VC ++项目窗口的颜色

时间:2013-09-20 10:38:58

标签: visual-studio-2010 visual-c++ colors themes

我在visual studio 2010 vc ++中完成了一个项目 我在运行时使用WNDCLASS创建了多个窗口。我想创建一个适用于创建时所有窗口的颜色主题。

  1. 有没有办法可以将默认窗口颜色常量更改为所需的颜色?例如如果更改COLOR_BTNFACE的值,它将自动更新所有引用的窗口按钮。
  2. 是否有其他方法可以为我的项目实现自定义主题,而无需手动搜索和替换使用过的颜色。
  3. 提前谢谢 问候

1 个答案:

答案 0 :(得分:0)

由于应用了另一个主题,在运行时更改所有窗口的背景颜色需要您的一些实施工作。据我所知,没有任何机制可以为你做到这一点。

假设您编写了一个Windows应用程序,并希望在运行时获得主题支持:

我不会做什么: 您可以创建自己的窗口类(WNDCLASS)并设置您喜欢的背景颜色(HBRUSH hbrBackground),并从此窗口类创建所有窗口。这有一些严重的缺点,因为你需要为每个类窗口(Buttuns,Sliders,Popup窗口......)创建一个窗口类,你不能在运行时更改它而不重新创建所有窗口。

我会做什么: 我将为我的应用程序创建的所有窗口引入一个公共基类。该基类包含背景颜色(以及其他常见的有用的东西)。当应用另一种背景颜色时,您只需要告诉所有窗口有关该更改(通过setBackgroundColor()),以便他们可以重新绘制内容。

我希望有所帮助。