I have an MFC application written with VC6. I have upgraded it to VS2015 and it builds and runs. The application is a main exe with many DLL's that have dialogs in them.
However the application still looks like it is built with VC6. None of the GUI components have the Windows 7 look and feel, they all still look old style.
How can I make my existing application look more modern?
You should at least add this line to your project, for example add to stdafx.h
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
See also Enabling Visual Styles
It gets more complicated for owner draw controls. See this reference: Using Visual Styles with Custom and Owner-Drawn Controls
For ListView and TreeView controls, you can call this function for a more modern look (although it doesn't make any difference in Windows 10)
SetWindowTheme(m_ListView.m_hWnd, L"Explorer", NULL);
SetWindowTheme(m_TreeView.m_hWnd, L"Explorer", NULL);
Also make sure your linker setting ALLOWISOLATION
is set to 'Yes' otherwise the manifest is not even considered.
来源:https://stackoverflow.com/questions/32728815/upgraded-mfc-application-still-looks-old