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!
MFC 使用Skin++ 美化皮肤的更多相关文章
- 【PYQT5快速开发】重定义边框、QSS美化皮肤主题
在用qt designer的基础上重定义边框 前言 作为一名技术工作者,偶有使用.开发工具的需求.制作工具时,既不想在界面上花太懂功夫,又想要工具模样与众不同,结果找半天找不到一键换装的功能/拍砖. ...
- 实时&离线皮肤渲染技术(Real-time&Offline Skin Rendering)
目录 现实皮肤模型 BSSRDF 渲染模型 [2001] Diffusion Profile(扩散剖面)[2001] 偶极子 [2002] 高斯和 [2007] Burley Normalized D ...
- VS中基于对话框的MFC利用换肤改变边框颜色及格式
第一版本: http://ishare.iask.sina.com.cn/f/13836420.html?from=like 2. http://www.cnblogs.com/phinecos/ar ...
- Substance风格实例大全javaswing皮肤风格大全(原)
转载请注明来路:http://www.cnblogs.com/langtianya/ 下图是所支持的设置 下面把上面的每一个选项的子选项进行试验 substance皮肤: AutumnSkin Bus ...
- My97 DatePicker 日期选择插件.
My97DatePicker是一个纯js写的时间插件,体积较小,更可以自己扩展皮肤,且样式不和页面相冲突,有多钟配置,近期项目用了一下感觉还不错...分享给大家 软件官网:http://www.my9 ...
- laypage分页
1.分页 laypage({ cont:$("#page"), //容器,仅支持id名\原生DOM对象,jquery对象 pages:, //总页数 skip:true, //是否 ...
- My97DatePicker的使用
一. 简介 1. 简介 目前的版本是:4.8 2. 注意事项 My97DatePicker目录是一个整体,不可破坏里面的目录结构,也不可对里面的文件改名,可以改目录名 My97DatePicker.h ...
- 浅谈JS中的继承
前言 JS 是没有继承的,不过可以曲线救国,利用构造函数.原型等方法实现继承的功能. var o=new Object(); 其实用构造函数实例化一个对象,就是继承,这里可以使用Object中的所有属 ...
- xhEditor用法
xhEditor是一个基于jQuery开发的简单迷你并且高效的在线可视化HTML编辑器,而且兼容很多浏览器,所以就选它了,具体使用如下: 1 .下载xhEditor 最新版本 下载地址:http:// ...
随机推荐
- BT详解
bittorrent是一个文件分发协议,它使用url来定位文件而且跟web服务无缝集成.当有多个人同时下载同一个文件时,下载者之间可以互相上传自己已有的那部分文件,让一个文件支持很多人同时下载却只增加 ...
- L2-002 链表去重 (25 分)
L2-002 链表去重 (25 分) 给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉.即对每个键值 K,只有第一个绝对值等于 K 的结点被保留.同时,所有被删除的结点须被保存在 ...
- echarts 折线图点击高亮
echarts中注册事件很多 ,记录下今天做的折线图点击高亮: 查了api,看了半天,发现折线图点击时只能做到圆点变大,并不能实现点击线条,整条线条高亮,也真是醉了. 上图: 如图所示,只能圆点变大. ...
- 2018-软工机试-F-庙会
单点时限: 1.0 sec 内存限制: 256 MB 是谁带你来看这场庙会 行为掩饰后超越了思维 舞台上的小丑和你的左小腿 别管我,别把我和他们扯在一起 ——李志<鸵鸟> 来到这场庙会,现 ...
- google Kickstart Round F 2017 四道题题解
Problem A. Kicksort 题意抽象一下为: 对于一个每次都从数列正中间取划分数的快速排序,给定一个1-n的排列,问快排的复杂度对于这个排列是否会退化为最坏复杂度. 数据范围: 测试组数1 ...
- python基础(八)
一.token加盐处理# import itsdangerous## salt='sdf234^#$@G'# t = itsdangerous.TimedJSONWebSignatureSeriali ...
- js作用域和内存
对于一本编程语言来讲,个人认为,最基本的就是存储,在存储,读取,计算值的时候是按照一定的规则来操作,这套规则呢就叫做作用域. 值保存,读取,的时候需要一个范围,如果以按照函数为单位的话就做函数作用域, ...
- 利用位运算进行a+b的计算(Java&&Python)
题目链接 需要用到的位运算操作:异或(^).与(&).右移(<<) 异或运算:又称不进位加法,a^b得到的结果为a与b相加,但是需要进位的地方不进位得到的结果 与运算:找出来a和b ...
- windows下配置maven
首先下载好maven的压缩包,然后解压到某个目录下,我解压到了D盘 打开readme.txt 1.2步已经完成,第3步的意思是让我们把bin所在的路径添加到系统变量的path中去 第4步意思是确保的你 ...
- Python 特殊方法
1 _int_ 定义在类中,创建类的实例的时候回先调用此方法,用于对该类的一些初始化(例如变量初始化) 2 _str_ def _str_(self): return "this is a ...