还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

XP风格按钮的实现

来源:清泛编译     2016-09-02 13:02:02    人气:     我有话说( 0 人参与)

方法一:利用XPButton类实现具体操作步骤如下:1.从互联网上下载XPButton类;2.创建基于对话框的MFC工程Test,将下载的XPButton.cpp和XPButt...

方法一:利用XPButton类实现

具体操作步骤如下:

1.网上下载XPButton类;请参考《【工程源码】XPButton源码-XP风格按钮

2.创建基于对话框的MFC工程Test,将下载的XPButton.cpp和XPButton.h放到当前工程目录中,通过Project->Add to project->Add file to project将XPButton.cpp和XPButton.h导入到工程中;

3.在CTestDlg.h添加头文件 #include "XPButton.h";

4.关闭工程,将工程目录下的.clw文件删除,重新打开工程,为对话框添加一个按钮。通过类向导为此按钮控件添加一个变量,变量类型选择CXPButton;

(在此步骤中如果不删除.clw文件,则在选择变量类型的时候下拉列表中不会出现CXPButton选项,可以选择CButton,然后手动到CTestDlg.h中将变量类型修改为CXPButton).

5.编译并运行程序就看到有XP风格的按钮;

注意:此方法只能使关联了CXPButton变量的按钮具有XP风格,对于没有关联的按钮还保持原来的样式。
效果如下:

 

方法二:利用.manifest文件实现

关于让程序界面实现XP风格,在网上有很多方法,大多数的作法都是写一个.manifest文件,然后将文件名改一下,比如.exe文件为test.exe,就将这个.manifest文件改名成test.exe.manifest,并将其和test.exe放在同一个目录里,这样test.exe在XP下运行时就会呈现XP界面风格。

把一下内容复制到.txt中,然后把txt改名为 “程序名.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>

 

方法三:利用.manifest文件实现

虽然方法二可以实现XP按钮风格,但是.exe和.manifest文件必须在同一个目录下,还是有些不方便。我们可以把.manifest文件编译到资源文件中,编译后生成.res文件,link后自然就和.exe文件“合”到一起了。

首先把XPStyle.manifest文件复制到工程所在的目录中,再用记事本打开资源文件(.rc),在文件最后加上一行:1 24 “XPStyle.manifest”。

( 这里解释一下,最后加上的那一行,“1”代表资源ID,必须是“1”。“24”代表资源类型为RT_MANIFEST的资源,引号里面的是要加入的资源名称)

编译并运行工程,就可以看到XP风格的按钮效果了。

 

这回编译好的.exe文件拿到哪都是XP风格的界面,不再依靠.manifest文件了,并且对于所有控件都可以实现XP风格。当然了,必须在XP或2003系统下才可以。

XP风格 按钮

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: