VS2010使用Skin++
轉載自http://blog.sina.com.cn/s/blog_5d23890b0100icjj.html。
Skin++的使用
一.使用皮膚
將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文件中一樣,打包時就將四個文件一起打包,就可以了!
我試了試,確實有效果,如下圖所示:
再對比一下原來的模樣:
但是由于使用起來還是有些問題的,所以我也就沒用了。
總結
以上是生活随笔為你收集整理的VS2010使用Skin++的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模态对话框的父窗口设置
- 下一篇: 获取磁盘符信息