[MFC美化] Skin++使用详解-使用方法及注意事项
主要分为以下几个方面:
1.Skin++使用方法
2.使用中注意事项
一. Skin++使用方法
SkinPPWTL.dll、SkinPPWTL.lib、SkinPPWTL.h ,将三个文件及相应皮肤(.ssk)拷贝至工程文件夹下
1.加载Skin++
1).在工程stdafx.h文件中加入#include "SkinPPWTL.h"
//..
#endif // _AFX_NO_AFXCMN_SUPPORT
#include "SkinPPWTL.h" //在这个地方加
#pragma comment(lib,"SkinPPWTL.lib") //或者在(附加依赖项)"Project->Settings->Link->Object/library"中加入SkinPPWTL.lib
//{{AFX_INSERT_LOCATION}}
2). 在APP类文件的InitInstance()中加入初始化语句InitInstance()
BOOL CWwApp::InitInstance()
{ AfxEnableControlContainer();
//…
skinppLoadSkin(_T("blue.ssk"));//blue.ssk为工程文件夹下的皮肤文件
//skinppLoadSkinFromRes();//静态资源加载, 在皮肤.h文件中有函数声明,参数自填
#ifdef _AFXDLL
//…
}
备注:更换皮肤只需要在事件中调用该函数即可。
2.卸载Skin++
在APP类文件的卸载函数ExitInstance()中加入:
skinppExitSkin(); //退出界面库,做清理工作。
二、使用中的注意事项
1. Skin++免费版是只支持ANSI方式,但VS2010在默认情况下编码为UNICODE方式,如果在编译链接时不把编码改为ANSI方式则无法正常生成。
解决方法: 项目 - 属性 - 配置属性 - 常规 - 字符集 - 使用多字节字符集。
2. 项目在使用多字节字符集下编译可能会出现其他的错误,如不能将CString转化为LPCWSTR等。
解决方法:将字符集改回为原来的UNICODE方式,然后skinppLoadSkin(_T("blue.ssk")); 改为skinppLoadSkin("blue.ssk"); 然后在SkinPPWTL.h头文件里定义一个typedef char MYCHAR变量,并替换所有的TCHAR, 并将语句TCHAR_tcscpy(szResImageName, _T("")); 改为strcpy(szResImageName, ""); 即可,编译即可通过。
3. 在UNICODE编码下的使用
官方说法,只有企业版才支持UNICODE。如果您的程序正好不是ANSI。。那么下面的方法可能会对您有所帮助。。一般咱们用SKIN++,只用到了skinppLoadSkin 与skinppExitSkin 。。
如果是UNICODE程序,在编译时会提示LINK skinppLoadSkin 方法错误。
其实只要把SkinPPWTL.h里的
skinppLoadSkin(TCHAR* szSkinFile, BOOL bFromIni = FALSE);
原型改为
skinppLoadSkin(CHAR* szSkinFile, BOOL bFromIni = FALSE);
在调用时
skinppLoadSkin((CHAR*)"vladstudio.ssk");
就OK了。
4. 其有关使用和SkinMagic类似,皮肤DLL都是动态生成的,项目exe都需要DLL。在运行时,需要将四个文件放到程序文件下,在生成了DEBUG文件后,如果想让DEBUG文件中的程序可以直接运行,那就需要将皮肤文件与DLL动态连接库文件都放到DEBUG文件中,RELEASE文件中一样,打包时就将四个文件一起打包.
但Skin++的菜单和下拉框(滑动条)显示正常,使用较方便。
附件:见文件
有关链接:
MFC学习之 SKIN++皮肤使用方法
http://blog.csdn.net/ksp416/article/details/50198781
http://blog.csdn.net/suxinpingtao51/article/details/44036163
http://blog.sina.com.cn/s/blog_6c86952d01013fzd.html
http://www.cnblogs.com/phinecos/archive/2008/04/14/1152696.html
http://www.emsky.net/bbs/archiver/?tid-28229.html
[MFC美化] Skin++使用详解-使用方法及注意事项的更多相关文章
- [MFC美化] USkin使用详解-使用方法
该种皮肤库资料很少,用法与前面几种类似. 它主要有:USkin.dll ,USkin.lib,USkin.h和Sakura.msstyles这四个文件.皮肤格式是.u3.SkinBuilder是USk ...
- [MFC美化] SkinSharp使用详解1-使用方法
需要注意的是: 加载换肤后,程序关闭时,无需调用卸载皮肤接口,SkinSharp换肤库会自己完成清理工作.换肤时无需卸载皮肤,直接调用即可. 其DLL使用方法与前面几种皮肤库用法类似.如下: 1. 将 ...
- [MFC美化] SkinMagic使用详解3- 常见使用问题解答
在SkinMagic使用过程中,经常遇到以下几个问题: 1. 静态加载皮肤文件时,资源文件IDR_SKIN_CORONA可能会报错:未声明的标识符 解决方法:添加头文件"Resource.h ...
- [MFC美化] SkinSharp使用详解2-SkinH.h函数介绍
SkinSharp功能强大,该皮肤库支持完全多种颜色改变等. 下面是静态链接库时的SkinH.h头文件: /*在Stdafx.h文件中加入如下语句 #include "SkinH.h&quo ...
- [MFC美化] SkinMagic使用详解2- SkinMagic常用函数介绍
SkinMagic常用函数介绍 (1)InitSkinMagicLib函数:初始化SkinMagic int InitSkinMagicLib( //初始化SkinMagic工具库 HINSTANCE ...
- [MFC美化] SkinMagic使用详解1- SkinMagic使用流程
[SkinMagic使用流程] 1.工程配置SkinMagic相关文件 2.初始化SkinMagic皮肤文件,窗体加载皮肤 3.释放皮肤资源 特别声明,SkinMagic要是破解版的,如果不是,可能需 ...
- MFC下CSocket编程详解(转)
原文转自 http://blog.csdn.net/yejiansnake/article/details/2175778 MFC下CSocket编程详解: 1. 常用的函数和注意事项(详细的函数接口 ...
- [一]class 文件浅析 .class文件格式详解 字段方法属性常量池字段 class文件属性表 数据类型 数据结构
前言概述 本文旨在讲解class文件的整体结构信息,阅读本文后应该可以完整的了解class文件的格式以及各个部分的逻辑组成含义 class文件包含了java虚拟机指令集 和 符号表 以及若 ...
- 详解Vue 方法与事件处理器
本篇文章主要介绍了详解Vue 方法与事件处理器 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 方法与事件处理器 方法处理器 可以用 v-on 指令监听 DOM 事件 ...
随机推荐
- 【WCF系列二:如何调用WCF服务】WCF入门教程(图文)VS2012
上一遍到现在已经有一段时间了,先向关注本文的各位“挨踢”同仁们道歉了.小生自认为一个ITer如果想要做的更好,就需要将自己的所学.所用积极分享出来,接收大家的指导和吐槽.网上也有很多WCF相关的教程, ...
- ASP.Net页面传值比较
ASP.Net页面传值比较 作为一个ASP.Net程序员,尤其是搞B/S开发的,对于不同页面之间变量值的传递用的非常广泛,而掌握不同方式之间的区别和特点也就很有必要.本文将针对这一知识点做一个简单 ...
- asp.net的ajax以及json
asp.net的ajax以及json 来现在这家公司以前,从未接触过webform,以前在学校做的项目是php,java以及asp.net mvc的,当时asp.net mvc用的是razor引擎,所 ...
- Direct2D
Direct2D Direct2D教程III——几何(Geometry)对象 摘要: 目前博客园中成系列的Direct2D的教程有1.万一的 Direct2D 系列,用的是Delphi 20092.z ...
- 如何在Ubuntu 11.10上连接L2TP VPN
要在家继续项目的开发,但架设的GitLab只能校内访问,更悲催的是学校架设的SSL VPN不支持Linux,好在想起学校以前架设的L2TP VPN,应该可以支持Linux,于是便一通谷歌百度,然而发现 ...
- JavaEE:XML解析
XML解析技术概述1.XML 技术主要企业应用1)存储和传输数据 2)作为框架的配置文件2.使用xml 存储和传输数据涉及到以下两点1)通过程序生成xml2)读取xml 中数据 ---- xml 解析 ...
- 纯Python综合图像处理小工具(4)自定义像素级处理(剪纸滤镜)
上一节介绍了python PIL库自带的10种滤镜处理,现成的库函数虽然用起来方便,但是对于图像处理的各种实际需求,还需要开发者开发自定义的滤镜算法.本文将给大家介绍如何使用PIL对图像进行自定义 ...
- [Ext JS 4] contentEL,renderTo, applyTo 释义与区别
前言 若干年前,使用Ext JS 3 开发了一个系统. 随着Ext JS 4的出现,总是会看到或听到关于Ext 比较多的言论是 : Ext JS 4 较Ext JS 3 有较大的改变. Ext JS ...
- win7 VS2008 ffmpeg release 版本崩溃 0x00905a4d 处未处理的异常
这个坑, 我始终不相信编码的问题,但还是花了一上午加各种调试代码.一般加个断点,调试几下就知道是什么问题.在最后找不到解决办法的情况下google了一下,短短几分钟解决了这个问题. 程序都是踩着各种坑 ...
- linux命令——iotop
查看CPU使用情况用top,查看I/O使用情况就需要iotop.这个命令是在 kernel v2.6.20中添加,安装的时候要注意内核的版本号. iotop常用快捷键 1. 左右箭头 --> 改 ...