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:\Windows\System32和C:\Windows\SysWOW64文件夹下,

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

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!

posted @ 2018-12-13 23:06  阳光总能让人感到温暖  阅读(4309)  评论(0编辑  收藏  举报