剑客爱编程

导航

Skin++的使用 (成功在vs2008试过)

Skin++的使用 (vs2008可行)

一.使用皮肤

将SkinPPWTL.lib 、skinppwtl.dll 、SkinPPWTL.h三个文件及相应皮肤(**.ssk)拷贝至工程文件夹下;一般还要将这些文件放在Debug文件夹下。

在StdAfx.h文件中加入

           #include "SkinPPWTL.h"

           #pragma comment(lib,"SkinPPWTL.lib")

在BOOL CXXApp::InitInstance()函数中加入:

           skinppLoadSkin(_T("blue.ssk"));

 注:以上假定(假定已经将blue.ssk皮肤放在了工程文件夹下),如果不是请更改路径设置。

在**Dlg.h中加入头文件"SkinPPWTL.h"                     //如果想再换肤加上这句

二、卸载Skin++ 在程序的卸载函数中加入

                                       ExitInstance()      //这个要自己重载了virtual int ExitInstance(); ExitSkin();

三、更换皮肤

              执行函数LoadSkin即可以实现动态换肤 LoadSkin(_T("XPCorona.ssk");

四.使用分隔条窗体的应注意的问题

您必须SKINPLUSPLUS_SPLITTER()和SKINPLUSPLUS_INIT_SPLITTER(m_wndSplitter)宏

注:SKINPLUSPLUS_INIT_SPLITTER一般传入分隔条对象m_wndSplitter

例如: ...................... SKINPLUSPLUS_SPLITTER() int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { SKINPLUSPLUS_INIT_SPLITTER(m_wndSplitter); ......................

注:关于SKIN++在VS2005中的使用需要注意的几点是

1、SKIN++免费版是只支持ANSI的,但VS2005默认情况下编码为UNICODE,如果在编译链接时不把编码改为ANSI则无法正常生成。

             选择 工程-属性-常规-语言-多字节字符集。

2、三个文件(SkinPPWTL.lib 、skinppwtl.dll 、SkinPPWTL.h),加上一个皮肤文件。总共四个文件,在运行时,需要将四个文件放到程序文件下,但是在生成了DEBUG文   件 后,如果想让DEBUG文件中的程序可以直接运行,那就需要将皮肤文件与DLL动态连接库文件都放到DEBUG文件中,RELEASE文件中一样,打包时就将四个文件一起打包,就可以了!

3、在UNICODE编码下的使用 SKIN++使用起来应该说是比较方便的。 但,官方说法,只有企业版才支持UNICODE。如果您的程序正好不是ANSI。。那么下面的方法可能会对您有所帮助。。 一般咱们用SKIN++,只用到了skinppLoadSkinskinppExitSkin 。。如果是UNICODE程序,在编译时会提示LINK skinppLoadSkin 方法错误。。 其实咱们只要把SkinPPWTL.h里的

                                        skinppLoadSkin(TCHAR* szSkinFile,BOOL bFromIni = FALSE);

原型改为

                                        skinppLoadSkin(CHAR* szSkinFile,BOOL bFromIni = FALSE);

在调用时

                                        skinppLoadSkin ((CHAR*)"vladstudio.ssk");

posted on 2012-08-09 18:09  剑客爱编程  阅读(817)  评论(0编辑  收藏  举报