使Windows程序拥有XP风格的界面,不使用皮肤控件
2012-04-10 17:17
381 查看
在使用VC6编译出来的软件界面只具有传统Windows2000风格的界面,并不美观,如果要使程序具有漂亮的界面,使用皮肤控件不失为一个好的选择,但是在我使用的皮肤控件中,占用资源是一方面,还会有这样那样的问题,比如有些菜单不能换肤,如果软件使用了定时器则会使界面有不能预知的后果。
以前发现可以写一个.manifest文件,然后将文件名改一下,比如.exe文件为test.exe,就将这个.manifest文件改名成test.exe.manifest,并将其和test.exe放在同一个目录里,这样test.exe在XP或2003(必须启动Themes服务)下运行时就会呈现XP界面风格。但是很明显这个.manifest文件必须与.exe文件在同一目录才能使程序变换风格,很不方便
当然你使用VS2005或更高版本的开发环境,直接使用Unicode字符集编译程序,也能得到具有Xp界面风格的软件。
但是在多字节字符集编译的情况下,怎样使软件具有Xp风格的界面呢???
今天终于找到一个很简单的使美化Windows软件的方法,就是使用一个配置文件,然后直接把这个文件编译进软件中,方法就是把它加入到程序的资源文件中,实现的原理未知。下面分享一下。
1、建立一个文件,内容如下,建立好了,以后就可以拷贝到其它地方使用了,不用重新建立。
保存为XPStyle.manifest,文件后缀要为*.manifest
2、接下来可以使用Ultraedit或记事本打开软件的资源文件,一般为***.rc2,在里面加入一行(红色字体的文字为手工加入的内容)
最后加上的那一行,“1”代表资源ID,必须是“1”。“24”代表资源类型,我想我们对RT_ACCELERATOR、RT_BITMAP、RT_MENU、RT_STRING等资源都非常熟悉,而“24”实际上是RT_MANIFEST。最后面引号中的内容表示
XPStyle.manifest 这个文件相当与工程目录的路径。
3、重新编译
如果是在VS2005或更高级的开发环境中,都不用在**.rc2文件中手工增加代码,只需要把建立好的"XPStyle.manifest"这个文件添加到工程中,然后重新编译就可以了。。
关于要使软件具有Vista风格的界面,期待大家分享一下。。
以前发现可以写一个.manifest文件,然后将文件名改一下,比如.exe文件为test.exe,就将这个.manifest文件改名成test.exe.manifest,并将其和test.exe放在同一个目录里,这样test.exe在XP或2003(必须启动Themes服务)下运行时就会呈现XP界面风格。但是很明显这个.manifest文件必须与.exe文件在同一目录才能使程序变换风格,很不方便
当然你使用VS2005或更高版本的开发环境,直接使用Unicode字符集编译程序,也能得到具有Xp界面风格的软件。
但是在多字节字符集编译的情况下,怎样使软件具有Xp风格的界面呢???
今天终于找到一个很简单的使美化Windows软件的方法,就是使用一个配置文件,然后直接把这个文件编译进软件中,方法就是把它加入到程序的资源文件中,实现的原理未知。下面分享一下。
1、建立一个文件,内容如下,建立好了,以后就可以拷贝到其它地方使用了,不用重新建立。
<?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>
保存为XPStyle.manifest,文件后缀要为*.manifest
2、接下来可以使用Ultraedit或记事本打开软件的资源文件,一般为***.rc2,在里面加入一行(红色字体的文字为手工加入的内容)
// // PiggyIOCPServer.RC2 - Microsoft Visual C++ 不会直接编辑的资源 // #ifdef APSTUDIO_INVOKED #error 此文件不能用 Microsoft Visual C++ 编辑 #endif //APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // 在此处添加手动编辑的资源... ///////////////////////////////////////////////////////////////////////////// 1 24 "XPStyle.manifest"
最后加上的那一行,“1”代表资源ID,必须是“1”。“24”代表资源类型,我想我们对RT_ACCELERATOR、RT_BITMAP、RT_MENU、RT_STRING等资源都非常熟悉,而“24”实际上是RT_MANIFEST。最后面引号中的内容表示
XPStyle.manifest 这个文件相当与工程目录的路径。
3、重新编译
如果是在VS2005或更高级的开发环境中,都不用在**.rc2文件中手工增加代码,只需要把建立好的"XPStyle.manifest"这个文件添加到工程中,然后重新编译就可以了。。
关于要使软件具有Vista风格的界面,期待大家分享一下。。
相关文章推荐
- 在 .NET 程序的窗体中使用 XP 风格的控件
- 在.NET程序的窗体中使用XP风格的控件
- 不使用unicode 使程序界面具有XP风格 VS2008也适用如下方法
- 在 .NET 程序的窗体中使用 XP 风格的控件
- Delphi的TService的輸入桌面切換(服务程序)(windows登录界面如何截图)(使用了OpenDesktop和GetThreadDesktop等API)
- 使用manifest文件实现XP风格界面
- 32bits的xp下使用vc6.0生成MFC串口程序的控件拷贝目录
- VC++6.0 程序使用XP风格样式
- 使用winx库设定xp界面风格(学习winx心得)
- VC++6 实现界面使用XP风格
- VC++6 实现界面使用XP风格
- 在VC6中编写可在XP中显示XP风格界面的程序
- [容易]快速让VC6.0编译的程序的控件具有window XP风格
- 剽窃vs2010 mfc 工程 让程序自动嵌入xp界面风格 系统风格
- Windows服务(Windows Service,system权限)程序显示界面与用户交互(xp,win7通用)
- 一分钟学会编写XP风格界面的程序!
- VC6.0 VC2005 下使程序直接具有XP主题界面风格
- 使用manifest实现XP风格界面
- delphi添加{$R WindowsXP},控件具有系统主题风格
- 控件风格19种,必须倒背如流——其实就是控件所拥有的能力,即有条件使用VCL框架所提供的(功能)代码