什么是XP风格?
XP风格就是通过给控件加一些特效(例如:边界圆角化)达到美化界面的效果。
下图是去除XP风格的UI效果。
XP风格是如何实现?
XP风格的UI效果是由Microsoft.Windows.Common-Controls提供的一种实现,为了拥有这种效果,你需要让你的程序依赖于Microsoft.Windows.Common-Controls这个组件。微软提供了Manifest来让让我们声明这种依赖。
1: #if defined _M_IX86
2: #pragma comment(linker,"/manifestdependency:/"type='win32'
name='Microsoft.Windows.Common-Controls'
version='6.0.0.0' processorArchitecture='x86'
publicKeyToken='6595b64144ccf1df' language='*'/"")
3: #elif defined _M_IA64
4: #pragma comment(linker,"/manifestdependency:/"type='win32'
name='Microsoft.Windows.Common-Controls'
version='6.0.0.0' processorArchitecture='ia64'
publicKeyToken='6595b64144ccf1df' language='*'/"")
5: #elif defined _M_X64
6: #pragma comment(linker,"/manifestdependency:/"type='win32'
name='Microsoft.Windows.Common-Controls'
version='6.0.0.0' processorArchitecture='amd64'
publicKeyToken='6595b64144ccf1df' language='*'/"")
7: #else
8: #pragma comment(linker,"/manifestdependency:/"type='win32'
name='Microsoft.Windows.Common-Controls'
version='6.0.0.0' processorArchitecture='*'
publicKeyToken='6595b64144ccf1df' language='*'/"")
9: #endif
Visual Studio 2008生成的VC程序在stdafx.h中已经加入上面这种依赖。但是如果你是从VC6.0升级到VC9.0你就要自己添加这些依赖。
ref:http://www.codeguru.com/forum/archive/index.php/t-408061.html