VC++.NET實現應用程序XP風格
首先,我必須說明一下:以下說的 XP 風格程序并非可以運行在任何Win32平臺上,而是在 Windows XP下運行的。有的朋友可就納悶了,任何在Windows XP下運行都有XP風格嘛,為何要花功夫去“實現”。請先看看下面兩幅圖 圖1 圖2 在 開發 時實現 怎么樣?應該明白其
首先,我必須說明一下:以下說的
XP風格程序并非可以運行在任何Win32平臺上,而是在
Windows XP下運行的。有的朋友可就納悶了,任何在
Windows XP下運行都有XP風格嘛,為何要花功夫去“實現”。請先看看下面兩幅圖

圖1

圖2
在
開發時實現
怎么樣?應該明白其中的區別了吧。為什么會這樣?因為微軟為Windows XP提供了Themes服務。Themes可以讓程序具有“XP風格”,看起來更美觀,因為微軟更新了Comctl32.dll(ver 6.0)這個“XP風格”的控件。微軟還為了保留傳統的Windows界面風格,特地留下了Comctl32dll v5.8。圖1就是v5.8繪制的,而圖2則是支持Themes的v6.0之作。有些朋友一定知道在VC7中建立MFC工程,程序會自動引入XP風格。VC6或者其他編譯器呢?其實原理都一樣的。首先建立一個文件,名為“?.manifest”(?是任何字符,manifest是擴展名。)
用文本輸入以下是內容:
<﹖xml version=″1.0″ encoding=″UTF-8″ standalone=″yes″﹖> <assembly xmlns=″urn?schemas-microsoft-com?asm.v1″ manifestVersion=″1.0″> <assemblyIdentity processorArchitec ture=″x86″ version=″5.1.0.0″ type=″win32″ name=″yourappli cation.exe″/> <description>de scrptions</description> <dependency> <dependentAssembly> <assemblyIdentity type=″win32″ name=″Microsoft.Windows.Common-Controls″ version=″6.0.0.0″ publicKeyToken=″6595b64144clearcase/" target="_blank" >ccf1df″ language=″?″ processorArchitec ture=″x86″/> </dependentAssembly> </dependency> </assembly> |
保存以后,在編譯器中導入此文件。資源類型是24(其實就是RT_MANIFEST),ID是1(必須)。若不能正常運行,請添加以下代碼。
//… #pragma﹖comment?lib?﹖″comctl32.lib″? #include < commctrl.h> //…在初始化處加上… InitCommonControls??? |
然后編譯則大功告成!
原文轉自:http://www.kjueaiud.com
- 評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
-
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
|