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

时间:2015-09-22 23:44:16

标签: mfc visual-studio-2015 vc6

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

然而,应用程序仍然看起来就像它是用VC6构建的。没有任何GUI组件具有Windows 7的外观和感觉,它们仍然看起来很旧。

如何让现有应用看起来更现代?

2 个答案:

答案 0 :(得分:9)

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

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

另见Enabling Visual Styles

对于所有者绘制控件来说,它变得更加复杂。看到这个参考: Using Visual Styles with Custom and Owner-Drawn Controls

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

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

答案 1 :(得分:0)

还要确保将链接器设置ALLOWISOLATION设置为“是”,否则甚至不考虑清单。