【问题标题】:How to change window style/theme in c++如何在 C++ 中更改窗口样式/主题
【发布时间】:2015-07-27 14:33:20
【问题描述】:

我需要一种方法来自定义窗口样式,如 Steam 或 Spotify。我不想让 Windows(或任何其他操作系统)看起来很无聊。 可以用 Qt 或 WinApi 完成吗?我需要 DirectX 或 OpenGL 吗?

最好的问候

【问题讨论】:

    标签: c++ user-interface styles window themes


    【解决方案1】:

    是的,您可以使用 WinAPI 做到这一点。您关心的主要消息是WM_NCPAINT。这就是需要绘制窗口的非客户区(例如框架和标题栏)时发送的内容。

    请注意,默认情况下,非客户区的渲染由桌面窗口管理器 (DWM) 处理。如果您要处理自己的绘图,您通常希望使用DwmSetWindowAttribute 显式启用/禁用它。否则,您可能会出现奇怪的症状(例如,如果尝试切换回“库存”框架等,它可能不会“注意到”并重新开始绘制框架)。

    Microsoft 有一个article on MSDN,其中包含有关与 DWM 一起执行此操作的更多详细信息。

    【讨论】:

      猜你喜欢
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2016-01-13
      • 2012-09-26
      • 1970-01-01
      • 2012-05-07
      • 2017-05-01
      • 1970-01-01
      相关资源
      最近更新 更多