jsnjzlw 发表于 2015-5-15 10:13:34

如何使得WIN7下用VS2010做出的MFC程序具有XP风格(摆脱传统界面的效果)

  VS2010建一个MFC的工程后,运行生成的对话框还有按钮之类的资源控件的风格是XP以前的传统的界面风格,效果不太令人满意。
               
  比较上面的图片,可以明显看到它们的不同。要怎么做呢?
  
  1. 将下面这段XML保存到你的工程目录下,文件名为XPStyle.manifest(注意后缀不是xml)
  
  
  
  
  
  
  
  
  
  2. 在VC中点添加资源, 将XPStyle.manifest文件作为资源文件加入到你的工程中,
  填资源类型号为24或者RT_MANIFEST(这是因为manifest格式文件不是VC的常规资源文件), 自己设定一个资源ID,比如说IDR_XP_STYLE或者1都可以.

  (1).如果是dll工程,则在Resource.h中修改:
  #define IDR_XP_STYLE2
  并在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文件“合”到一起了。 
页: [1]
查看完整版本: 如何使得WIN7下用VS2010做出的MFC程序具有XP风格(摆脱传统界面的效果)