MFC使用Skin++外观美化【转】
2010-11-09 09:52
148 查看
MFC使用Skin++外观美化
[b]Skin++[/b]的使用
一.使用皮肤
将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文件中一样,打包时就将四个文件一起打包,就可以了!
[b]Skin++[/b]的使用
一.使用皮肤
将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文件中一样,打包时就将四个文件一起打包,就可以了!
相关文章推荐
- MFC使用Skin++外观美化
- MFC使用Skin++外观美化【转】
- MFC使用Skin++外观美化
- MFC使用Skin++外观美化
- 使用skin++进行MFC界面美化范例
- 使用skin++进行MFC界面美化范例
- MFC基于对话框程序界面之皮肤美化(Skin Magic)--附案例源码
- 使用SkinMagicToolkit美化界面
- 在VS 2005使用SKIN外观文件实现程序换肤
- 一个在MFC下使用的按钮美化类XPButton
- 使用SkinMagic Toolkit美化界面(II) by mythma
- 使用Skin#美化界面
- 使用SkinMagic美化MFC的窗口
- vs2010 mfc项目配置属性的字符集为Unicode和多字节时,两者转换后使用的控件外观不一样
- 在VS 2005使用SKIN外观文件实现程序换肤
- 用MFC做漂亮界面之美化标题(使用静态控件)
- 【mfc】VS2012 mfc中使用skin
- 如何使用SkinMagic库进行MFC界面皮肤美化
- MFC使用Skin++
- 【Silverlight】Bing Maps开发应用与技巧六:使用样式美化图钉(Pushpin)控件的ToolTip外观 推荐