VC编程使用Skin++改变界面皮肤

2011-04-07 22:05:05|?次阅读|上传:wustguangh【已有?条评论】发表评论

关键词:C/C++, MFC, 界面设计|来源:唯设编程网

一. 导入Skin++皮肤头文件和.lib库文件

将SkinPPWTL.lib skinppwtl.dll SkinPPWTL.h三个文件及相应皮肤拷贝至工程文件夹下

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()
{
    skinppLoadSkin(_T("blue.ssk"));//blue.ssk为项目下的皮肤文件
    //..
}

注:以上假定,如果不是请更改路径设置。

二. 卸载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则无法正常生成。

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

发表评论0条 】
网友评论(共?条评论)..
VC编程使用Skin++改变界面皮肤