【问题标题】:Change min/max/close buttons theme更改最小/最大/关闭按钮主题
【发布时间】:2008-10-05 07:32:32
【问题描述】:

我目前覆盖WM_NCPAINTWM_NCCALCSIZEWM_NCACTIVATE 为我正在处理的应用程序绘制我自己的颜色/主题标题栏。现在这很好用,但是最小、最大和关闭按钮仍然是 xp 默认主题。

我研究了控制它们和鼠标消息的作用。但是,它们还控制调整大小和其他我不想失去的功能。

有没有简单的方法来改变这些按钮的主题?

  • Windows XP
  • MFC 表单
  • 视觉工作室 2005

【问题讨论】:

  • 傲慢地覆盖我选择的 GUI 外观的程序是我生活中最讨厌的事情之一。只是不要这样做。让用户的最大、最小和关闭按钮看起来像用户选择的样子!
  • 如果这是具有可定制皮肤的应用程序的一部分怎么办?谁说用户对任何事情都没有发言权?

标签: windows mfc


【解决方案1】:

我认为您最好的选择是禁用按钮并使用类似于the code I posted in this answer 的方式重新绘制它们。它在带有 WinForms 的 C# 中,但绝大多数都重载了 WndProc(),您应该几乎可以将其复制/粘贴到 MFC 中。

实现点击处理程序来做你想让他们做的事情是微不足道的。

注意:该问题的提问者说代码在 Vista 中不起作用。我没有 Vista 盒子,但它适用于 XP。

【讨论】:

    【解决方案2】:

    【讨论】:

    • 这实际上是我或多或少翻译成 C#/WinForms 以创建我在上面编写和链接的代码的教程。
    【解决方案3】:

    您还可以在 MFC Next (VS2008 SP1) 中查看它是如何完成的。那里的主题支持对整个标题栏进行自定义绘制,您可以从中获得一些想法。我想他们也在 Vista 上测试过它;)

    【讨论】:

      猜你喜欢
      • 2020-11-26
      • 1970-01-01
      • 2016-04-20
      • 2016-03-04
      • 1970-01-01
      • 2011-03-13
      • 2016-10-04
      • 1970-01-01
      • 2013-10-10
      相关资源
      最近更新 更多