關於使Visual Studio 2005/2008開發的MFC程序具有XP風格的問題

轉自: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風格。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章