轉自:http://hi.baidu.com/lishman/blog/item/c25aa7167ee17f59f3de3201.html
使用.manifest檔案不費任何力氣就可以在xp系統裡實現xp風格的控制項,但是這樣做有一點不方便的地方就是manifest必須放到exe所在目錄,而且要將manifest檔案改名為*.exe.manifest格式,如下做法可以將manifest檔案放到資源檔中,編譯後產生.res檔案,link後自然就和.exe檔案“合”到一起了。
.manifest檔案內容如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
name="XP style manifest"
processorArchitecture="x86"
version="1.0.0.0"
type="win32"/>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
大家也看到了,這其實是一個XML檔案,開啟記事本,複製上面的內容,然後存檔,檔案名稱任意,這裡我存為XPStyle.manifest。
然後在VC中建立一個MFC AppWizard(exe)工程,Document/View或Dialog均可,接著把XPStyle.manifest複製到工程所在目錄,再用記事本或其它文本編輯工具手動修改工程目錄下的資源檔(.rc),在檔案最後加上一行:
1 24 “XPStyle.manifest”
最後加上的那一行,“1”代表資源ID,必須是“1”。“24”代表資源類型,我想我們對RT_ACCELERATOR、RT_BITMAP、RT_MENU、RT_STRING等資源都非常熟悉,而“24”實際上是RT_MANIFEST。最後面引號中的東西我就不再囉嗦了
這樣編譯後產生的檔案只有一個exe,但是同樣可以在xp系統下實現xp風格控制項