MFC 使用Skin++ 美化皮肤

Posted lize19940412

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC 使用Skin++ 美化皮肤相关的知识,希望对你有一定的参考价值。

查了好几天关于MFC应用程序换肤的资料,经过各种莫名其妙的问题的困扰,现分享一下自己的体会。希望可

以避免一些弯路。另外会在附上一些资源。

环境:Windows 7 + VS2012 + SkinSharp(注:Skin++、USkin、SkinMagic 用法相同)

1. 新建一个工程(工程名:Demo)(比如一个基于对话框的MFC程序)

 

如图所示,注意不要勾选Use Unicode libraries ,否则可能会出现以下错误:见图

 

2. 添加相关文件(.h .lib .dll 以及皮肤文件)

下面就以SkinSharp、Skin++、USkin、SkinMagic中的一种(SkinSharp)进行示范,其他三种的操作基本

是大同小异。如图将SkinH.h和SkinH.lib文件导入工程文件的目录中,如下图所示:

 

请注意VC++6.0和VS2012下工程目录的不同之处,应该是Demo->Demo文件夹下(Demo是工程名),

然后加入工程的Header Files下:

 

3. 添加必要的代码

3.1 在stdafx.h中添加

#include "SkinH.h"
#pragma comment(lib, "SkinH.lib")
如图:

技术分享图片

 


在BOOL CDemoApp::InitInstance() 函数下写

SkinH_Attach();
这句语句是加载默认的皮肤文件:skinh.she

技术分享图片

 

 

3.3 试着编译工程,产生Debug文件(或者Release文件)

将以下文件放入Debug目录(工程根目录下的Debug文件夹)中如图:

 

 

 

3.4 再次编译工程即可看到换肤的效果:(添加的是只是skinh.she皮肤文件)

 

3.5 实现更“自由”的换肤

将SkinH_Attach(); 改为下句
SkinH_AttachEx("../Debug/Skins/Green.she", NULL);

 

运行效果如下:

    

3.6 如果出现缺少SkinH.dll, 就将该文件再放到C:WindowsSystem32和C:WindowsSysWOW64文件夹下,

然后重新编译运行就可以了。

4. 资源链接

Skin++、SkinSharp、USkin、SkinMagic以及该例程的代码在如下链接中:

http://download.csdn.net/detail/u011239916/8750419

相关链接:http://www.codeproject.com/Articles/13946/Use-the-Free-USkin-Toolkit-to-Skin-your-Applicatio

以上就是VS2012下MFC对话框应用程序的界面美化,还可以利用皮肤制作软件进行皮肤文件的制作,

让自己的应用程序告别单调,从此焕发生机!如果在运行中出现问题,可以给我留言,可以交流讨论。感

谢您的阅读,如有错误和不妥之处,请指点。Thank you very much!








以上是关于MFC 使用Skin++ 美化皮肤的主要内容,如果未能解决你的问题,请参考以下文章

[MFC美化] SkinSharp使用详解1-使用方法

[MFC美化] USkin使用详解-使用方法

VC++的界面美化有没有啥简单的方法来做?

博客园界面美化

vs2010用 IrisSkin2.dll皮肤控件美化WINFORM窗体 不显示皮肤也不报错 这个是啥原因呢

博客美化——Silence主题皮肤