如何使得WIN7下用VS2010做出的MFC程序具有XP风格(摆脱传统界面的效果)
VS2010建一個MFC的工程后,運行生成的對話框還有按鈕之類的資源控件的風格是XP以前的傳統的界面風格,效果不太令人滿意。
?? ? ? ? ? ? ???? ? ? ? ? ? ??
?比較上面的圖片,可以明顯看到它們的不同。要怎么做呢?
1. 將下面這段XML保存到你的工程目錄下,文件名為XPStyle.manifest(注意后綴不是xml)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="XP style manifest"
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>
2. 在VC中點添加資源, 將XPStyle.manifest文件作為資源文件加入到你的工程中,
填資源類型號為24或者RT_MANIFEST(這是因為manifest格式文件不是VC的常規資源文件), 自己設定一個資源ID,比如說IDR_XP_STYLE或者1都可以.
?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
(1).如果是dll工程,則在Resource.h中修改:
#define IDR_XP_STYLE ?2
并在StdAfx.h中添加
#define ISOLATION_AWARE_ENABLED 1
(2).如果是exe工程,則在Resource.h中修改:(自己沒有做這一步,發現并無影響)
#define IDR_XP_STYLE ? 1
3. 點擊全部編譯,運行你的程序看看.
(友情提示: 編譯出來的程序在非XP系統下沒有XP風格界面,將是傳統的界面效果)
使用.manifest文件不費任何力氣就可以在xp系統里實現xp風格的控件,但是這樣做有一點不方便的地方就是manifest必須放到exe所在目錄,如下做法可以將manifest文件放到資源文件中,編譯后生成.res文件,link后自然就和.exe文件“合”到一起了。
轉載于:https://www.cnblogs.com/suiyuan2011/archive/2011/08/11/2135419.html
總結
以上是生活随笔為你收集整理的如何使得WIN7下用VS2010做出的MFC程序具有XP风格(摆脱传统界面的效果)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RQNOJ103_最大利润
- 下一篇: byte 8位有符号 与 char 1