升级后的 MFC 应用程序看起来仍然很旧

2024-03-17

我有一个用 VC6 编写的 MFC 应用程序。我已将其升级到 VS2015 并且它可以构建并运行。该应用程序是一个主可执行文件,其中包含许多包含对话框的 DLL。

然而应用仍然looks就像用 VC6 构建的一样。所有 GUI 组件都没有 Windows 7 的外观和感觉,它们看起来仍然是老式风格。

如何使我现有的应用程序看起来更现代?


您至少应该将此行添加到您的项目中,例如将其添加到stdafx.h

#pragma comment(linker,"\"/manifestdependency:type='win32' \
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

或者将以下内容添加到您的清单文件中:

<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="*"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>

也可以看看启用视觉样式 https://msdn.microsoft.com/en-us/library/windows/desktop/bb773175%28v=vs.85%29.aspx

所有者绘制控件变得更加复杂。请参阅此参考:将视觉样式与自定义和所有者绘制的控件结合使用 https://msdn.microsoft.com/en-us/library/windows/desktop/dd373487%28v=vs.85%29.aspx

对于ListView和TreeView控件,您可以调用此函数以获得更现代的外观(尽管它在Windows 10中没有任何区别)

SetWindowTheme(m_ListView.m_hWnd, L"Explorer", NULL);
SetWindowTheme(m_TreeView.m_hWnd, L"Explorer", NULL);

* #pragma comment is Visual Studio specific. For other compilers you need to modify the manifest file

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

升级后的 MFC 应用程序看起来仍然很旧 的相关文章

随机推荐