【VC皮肤】skin++皮肤库使用

44 篇文章 0 订阅
10 篇文章 0 订阅
    skin++可以使VC++等工具写的软件的界面很漂亮,但是试用版在运行时会跳出注册框,正式版又需要花钱,下面的这种方法将会使注册窗口不再跳出来。
    1、将skin++(破解后的)的三个文件 SkinPPWTL.h、SkinPPWTL.lib、SkinPPWTL.dll连同你需要用的皮肤文件一同拷贝到你的工程目录下。
    2、在工程的stdafx.h文件引入SkinPPWTL.h头文件,并将SkinPPWTL.h文件加入工程。
        #include "SkinPPWTL.h"// 注意这里要用引号!!!
    3、Visual C++ 6.0中如下操作:在工程的工程—>设置—>连接—>对象/库模块中填入SkinPPWTL.lib。
    4、在你的工程App类头文件中声明:

     #define SKINSPACE _T("/SPATH:")   注意:这个必须添加在#include的下面!!!


在初始化函数InitInstance中添加:

    CString cmdline = GetCommandLine();
    int nFind = cmdline.Find(SKINSPACE);
    if(nFind != -1)
   {

       cmdline.Delete(0,nFind + _tcslen(SKINSPACE));
       if(cmdline.GetAt(cmdline.GetLength()-1) == _T('"'))
       {
         cmdline.Delete(cmdline.GetLength()-1,1);
       }

       skinppLoadSkin((LPTSTR)(LPCTSTR)cmdline);
    }
    else
   {
      skinppLoadSkin(_T("MSN Messenger.ssk"));
    }

 退出时释放资源:
int CHYPDFSystemApp::ExitInstance()
{
    skinppExitSkin();
    return CWinApp::ExitInstance();
}

========================================================================================

2010-08-03
Skin++的使用
文章分类:C++编程
一.使用皮肤

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


1.在(VC7)"项目->属性->链接器->输入->附加依赖项"中加入SkinPPWTL.lib

或 在(VC6)"Project->Settings->Link->Object/library"中加入SkinPPWTL.lib


2.在StdAfx.h文件中加入#include "SkinPPWTL.h"
//..
#endif // _AFX_NO_AFXCMN_SUPPORT
#include "SkinPPWTL.h" //在这个地方加

//{{AFX_INSERT_LOCATION}}
//..

3.在BOOL CXXApp::InitInstance()函数中加入:
BOOL CWwApp::InitInstance()
{

AfxEnableControlContainer();

//…
skinppLoadSkin(_T("blue.ssk"));//blue.ssk为项目下的皮肤文件



#ifdef _AFXDLL

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

 

4.在**Dlg.h中加入头文件"SkinPPWTL.h"

5.在工程中加入头文件SkinPPWTL.h

二.卸载Skin++

在程序的卸载函数中加入ExitInstance()
ExitSkin();

三.更换皮肤

执行函数LoadSkin即可以实现动态换肤

LoadSkin(_T("XPCorona.ssk");

四.函数说明

InitializeSkin是SKin++的初始化函数,您可以采用如下参数加载Skin++
InitializeSkin(皮肤文件名);
注:如果皮肤文件名中没有路径则采用当前目录。

LoadSkin(皮肤文件名);
注:如果皮肤文件名中没有路径则采用当前目录。

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

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

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

例如:

......................

SKINPLUSPLUS_SPLITTER()

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
       SKINPLUSPLUS_INIT_SPLITTER(m_wndSplitter);

        ......................

六.文件说明

Readme.htm 你正在看的文档
DLL 使用Skin++所需的文件目录(打开)
Skins 皮肤目录(打开)
Sample 为演示程序目录
       DLG为对话框演示程序(打开)
       SDI为当文档界面演示程序,同时也演示了分隔条的使用(打开)
       MDI多文档界面演示程序(打开)
       Dockbar演示了停靠窗口(打开)

注:关于SKIN++在VS2005中的使用。需要注意的几点是,SKIN++免费版是只支持ANSI的,但VS2005默认情况下编码为UNICODE,如果在编译链接时不把编码改为ANSI则无法正常生成。

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

 

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

七、在UNICODE编码下的使用
SKIN++使用起来应该说是比较方便的。

但,官方说法,只有企业版才支持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了。。。哈哈。。


转载自: http://blog.sina.com.cn/s/blog_680eddb401011jwb.html


附带一些skin++的皮肤下载:

http://ishare.iask.sina.com.cn/f/12480307.html?from=like


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值