轉自:http://blog.163.com/zhouence518@126/blog/static/71435456200911124301347/
當用Visual Studio 2005/2008創建MFC程序時,如果選擇Unicode編碼方式則程序自動具有XP控件風格;如果沒有選擇或選擇多字符集編碼方式,則需要如下操作:
將下面的內容保存到一個文件名爲***.manifest的文件中,放到res目錄下,***可以使用你的程序的名稱或者任意。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
name="Wiegand.Application"
processorArchitecture="x86"
version="1.0.0.0"
type="win32"/>
<description>Demo for the Application MFC class.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
然後把這個文件添加到項目中,重新生成即可。
爲什麼需要這樣呢?
因爲微軟爲Windows XP提供了Themes服務,Themes可以讓程序具有“XP風格”。因爲微軟更新了Comctl32.dll(ver 6.0)這個“XP風格”的控件,並且還爲了保留傳統的Windows界面風格,特地留下了Comctl32.dll(v5.8)。當在VS2005中建立MFC工程,並且使用Unicode模式時,程序會自動引入XP風格。否則需要手動引入,方法就是寫一個.manifest文件,用它來引入XP風格。