[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 事件 ...
随机推荐
- awk学习点滴
1,常量 ARGC:命令行参数个数 包括awk本身命令,但awk的自带option不算在内. ARGV:命令行参数数组 ARGV[0]是awk本身,其他依次提取就好. $ awk -F ' ' 'BE ...
- GoLang获取struct的tag
GoLang获取struct的tag内容:beego的ORM中也通过tag来定义参数的. 获取tag的内容是利用反射包来实现的.示例代码能清楚的看懂! package main import ( &q ...
- Bootstrap3.0学习第八轮
Bootstrap3.0学习第八轮(工具Class) 前言 阅读之前您也可以到Bootstrap3.0入门学习系列导航中进行查看http://www.cnblogs.com/aehyok/p/34 ...
- 限制某个进程只能在某个CPU上运行
首先可以调用GetSystemInfo查看有多少个CPU,再通过调用: BOOL WINAPI SetProcessAffinityMask( __in HANDLE hProcess, __in D ...
- hdu4277 USACO ORZ
USACO ORZ Time Limit: 5000/1500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- 代码契约CodeContract(八)
代码契约(Code Contract):它并不是语言本身的新功能,而是一些额外的工具,帮助人们控制代码边界. 代码契约之于C#,就相当于诗词歌赋之于语言. --- C# in Depth 一,概述 1 ...
- Composite C1是一个.Net平台上开源专业的CMS开源项目
CompositeC1 4 发布 Composite C1是一个.Net平台上开源专业的CMS开源项目,很多的功能用户界面,面向任务的支持与各种工具协作.当编辑内容时在用户端体验很友好.编辑器与开发者 ...
- django User model
django User model operation this tutorial will guide us to know how to manipulate django User model. ...
- Android 中单位讲解
1. dip(dp): device independent pixels(设备独立像素). dp也就是dip.这个和sp基本类似.如果设置表示长度.高度等属性时可以使用dp 或sp.但如果设置字体, ...
- Android---控制设备照相机
本文译自:http://developer.android.com/training/camera/cameradirect.html 本文中,我们讨论如何使用框架API来直接的控制照相机硬件. 直接 ...