【问题标题】:Changing Visual style of a MFC application [duplicate]更改 MFC 应用程序的视觉样式 [重复]
【发布时间】:2017-05-02 10:53:59
【问题描述】:

我有一个基于 MFC 的应用程序,它看起来太旧了,可能主题是本机窗口。我知道在创建新的 MFC 应用程序时,可以选择不同的视觉样式。

我现在想选择不同的视觉风格,可能是Windows 7。我该怎么做?

编辑 1:该应用程序是用 Visual Studio 2005 编写的。因此外观太旧了。我已将其迁移到 Visual Studio 2015,但外观仍然相同。

【问题讨论】:

  • 如果您在 Windows 7 上运行,“本机”样式看起来与“Windows 7”样式相同。应用程序“看起来太旧”是什么意思?那不是一回事。 MFC 的内置主题既丑陋又骇人。无论如何,功能比形式更重要。
  • @CodyGray 该代码是在 VS 2005 中编写的。我在 VS 2015 (Windows 7) 上使用它。
  • 您可能正在寻找this
  • Windows 8 已经问世将近 5 年了。默认的 Windows 7 UI 主题开始显得过时了。此外,MFC 应用程序应该简单地使用标准主题,启用视觉样式,并尊重用户对视觉上令人愉悦的选择。

标签: visual-studio-2015 mfc


【解决方案1】:

在 stdafx.h 中有一些代码:

#ifdef _UNICODE
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif

你确定它是否有效?如果项目不是 UNICODE,只需注释 #ifdef _UNICODE(和他的一对 #endif)以激活视觉样式...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 2012-04-05
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多