SDK使用xp风格控件

来源:互联网 发布:相片打印软件 编辑:程序博客网 时间:2024/05/22 10:57

        从Windows XP开始,系统为我们用来创建应用程序用户界面的绝大部分控件提供了许多炫丽的风格,它们被称为用户界面主题。然而,默认情况下,应用程序并不支持用户界面主题。支持用户界面主题的一个简单方法就是随应用程序提供一个XML格式的清单。应用程序会根据这个清单来绑定到正确版本的ComCtl32.dll,这样ComCtl32.dll就能够以正确的方式重绘Windows控件。Microsoft C++连接器提供了一个manifestdependency选项,通过pragma指示符用适合的参数对这个选项进行了设置。

// Needed for supporting XP/Vista styles.#if defined(_M_IA64)#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='IA64' publicKeyToken='6595b64144ccf1df' language='*'\"")#endif#if defined(_M_X64)#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.6000.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")#endif#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='*'\"")#endif

通过在源文件中添加

#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
SysLink之类的控件可以正常使用