VC程序中Windows XP风格程序界面的实现

编程知识 更新时间:2023-04-22 20:53:01

文章原创,转载请注明出处

默认情况下用MVC++98创建的MFC应用程序的界面使用5.82版本的ComCtrl32.dll中控件,使得其风格为Windows 2000系统的风格,
看上去绘制得比较粗糙。如下图所示:


使用MSVC2008以上的版本默认创建的MFC应用使用的界面为6.0版本的ComCtrl32.dll中控件,使得其风格为Windows XP系统的风格,看上去
更为精细,会更好看些,如下图所示:


不过如果在MSVC2010中将程序的语言字符集由Unicode字符集改为多字节字符集之后,程序的界面也会变为Windows 2000系统的风格。
为了在MVC++98创建的MFC应用程序的界面使用6.0版本的ComCtrl32.dll中控件,使得其为Windows XP系统的风格,需要通过自定义一个manifest清单文件来设置
程序的资源调用。该manifest文件为一个xml文件,默认命名为应用程序可执行文件全名并以manifest为后缀,如application.exe.manifest。
通常可以自己创建和编辑产生该文件,用代码编辑器创建一个文件并输入如下内容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
    type="win32"
    name="application.exe"
    version="1.0.0.0"
    processorArchitecture="X86"/>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        publicKeyToken="6595b64144ccf1df"
        language="*"
        processorArchitecture="X86"/>
    </dependentAssembly>
  </dependency>
然后保存为自己的应用程序可执行文件全名并以manifest为后缀的文件即可。将该文件放在自己程序的可执行文件路径下,重新打开程序即可看到
程序的界面风格变化为Windows XP风格了,控件均为圆角矩形之类的。

 

为了避免程序可执行文件必须和对应的manifest文件在同一路径下,不方便移植,可以通过如下两种方法把该manifest文件编译到应用程序文件之中。
第一种是直接在VC的IDE中将manifest文件添加到Resource Files之中,然后重新编译应用程序即可。操作过程如下图所示:

第二种是通过VS的IDE在项目属性中直接设置manifest清单文件。将清单文件放置在项目的路径下,然后在“配置属性”->“输入和输出”->“附加清单文件”中输入清单文件名称,然后重新编译即可被编译到程序之中了。如下图所示:

 

参考:

http://www.fengxing.me/?post=56

http://hi.baidu/flying2002/blog/item/1ad510b36cd0a9a7d8335a1d.html

 

更多推荐

VC程序中Windows XP风格程序界面的实现

本文发布于:2023-04-17 11:30:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/78bc9661b181734b66173e7a73633139.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:程序   界面   风格   VC   XP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 83235文章数
  • 8784阅读数
  • 0评论数