欢迎来到天天文库
浏览记录
ID:42770253
大小:298.00 KB
页数:7页
时间:2019-09-20
《skin++的使用详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Skin++ForVisualC++使用教程2010-01-0821:34一、概述Skin++是一款通用的软件换肤套件,目前支持各种版本操作系统,Windows9x、Windows2000、WindowsXP、Windows2003。支持各种开发语言,VC、VB、C#、PB、Delphi、C++Builder、易语言。Skin++目前已经拥有数量众多的用户,并且有很多的国内外大公司客户。无论其换肤的效果还是程序本身的稳定性,都堪称一流。要做出漂亮风格的界面,使用Skin++变得非常简单,只要一行代码,就能让你的程序彻底换肤,并拥有动态换肤的功能。二、如何在
2、VC中使用1. 创建一个VC6.0工程,这里我们以MFC多文档为例。点击“确定”按钮,进入到下一个界面,在这里我们选择“多重文档”,然后点击“完成”按钮。到这里,我们已经成功创建了一个多文档的MFC工程。2. 拷贝Skin++相关文件到安装的目录下面找到VCCases目录,把该目录中的DLL、Include、Lib三个目录拷贝到刚才创建的工程目录中。为了方便调试,我们把DLL目录中的SkinPPWTL.dll拷贝到当前工程目录。到安装的目录下面找到Skins目录,我们选择AquaOS作为我们测试皮肤,把AquaOS.ssk皮肤文件拷贝到当前的工程目录中
3、来。我们的工程目录结构大致如下所示,红框部分为我们刚才拷贝的文件和目录。3. 工程设置:切换到当前工程,使用快捷键ATL+F7打开工程设置窗口,进入Link页面,在输出文件名中写上当前工程的编译生成的EXE名称,把原来的”Debug”删除掉。在对象/模块中写上:LibSkinPPWTL.lib,如下图:4. 包含Skin++头文件:在StdAfx.h中写上include“includeSkinPPWTL.h”如下图所示:5. 加载Skin++代码进入CMDITestApp::InitInstance(),在该函数的第一句写上:skinppLoa
4、dSkin(_T("AquaOS.ssk"));如下图:skinppLoadSkin有两参数,第一个参数为皮肤路径,如果直接写皮肤名称,那么程序运行的时候,会到程序所在的目录下去查找,如果在该目录下没有该皮肤文件,那么加载Skin++失败,运行程序将看不到效果。该参数接受皮肤的绝对路径和相对路径。第二个参数一般用户不用填写,但对于想要把皮肤文件释放到一个目录里加载Skin++以提高加载速度的情况下有用。这个功能对于正式版用户可用。免费版不支持该功能。6. 释放Skin++代码进入CMDITestApp::ExitInstance(),在该函数第一行写上:
5、skinppExitSkin();7. 运行按F5运行,运行效果如下:一.加载Skin++1.在(VC7)"项目->属性->链接器->输入->附加依赖项"中加入SkinPlusPlusDLL.lib或在(VC6)"Project->Settings->Link->Object/library"中加入SkinPlusPlusDLL.lib2.在你的程序中包含头文件#inlcude"SkinPlusPlus.h"3.在程序中加入初始化语句InitInstance()InitializeSkin(_T("XPCorona.ssk"));注:以上假定SkinPl
6、usPlusDLL.lib,SkinPlusPlus.h,XPCorona.ssk都在当前目录,如果不是请更改路径设置。二.卸载Skin++在程序的卸载函数中加入ExitInstance()ExitSkin();三.更换皮肤执行函数LoadSkin即可以实现动态换肤LoadSkin(_T("XPCorona.ssk"));四.函数说明InitializeSkin是SKin++的初始化函数,您可以采用如下参数加载Skin++InitializeSkin(皮肤文件名);注:如果皮肤文件名中没有路径则采用当前目录。LoadSkin(皮肤文件名);注:如果皮肤文件
7、名中没有路径则采用当前目录。五.使用分隔条窗体的应注意的问题您必须SKINPLUSPLUS_SPLITTER()和SKINPLUSPLUS_INIT_SPLITTER(m_wndSplitter)宏注:SKINPLUSPLUS_INIT_SPLITTER一般传入分隔条对象m_wndSplitter例如:......................SKINPLUSPLUS_SPLITTER()intCMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct){ SKINPLUSPLUS_INIT_SPLITT
8、ER(m_wndSplitter); ........
此文档下载收益归作者所有