[MFC美化] USkin使用詳解-使用方法


 

該種皮膚庫資料很少,用法與前面幾種類似。

 

它主要有:USkin.dll ,USkin.lib,USkin.h和Sakura.msstyles這四個文件。皮膚格式是.u3。SkinBuilder是USkin界面換膚軟件.u3文件制作環境 。

 

以下是摸索出來的用法,如有錯誤請指正。

一、使用方法

1. 將這四個文件拷貝至相應文件夾下。.lib和.h放在工程文件夾,.dll和Sakura.msstyles放到debug文件夾下。

2. 在工程stdafx.h文件中加入USkin.h和USkin.lib

//..
#endif // _AFX_NO_AFXCMN_SUPPORT 
#include "USkin.h"   //在這個地方加
#pragma comment(lib,"USkin.lib") //或者在(附加依賴項)"Project->Settings->Link->Object/library"中加入USkin.lib
//{{AFX_INSERT_LOCATION}}

3. 在APP類文件的InitInstance()中初始化皮膚庫

AfxEnableControlContainer();

BOOL bRe = USkinInit(NULL,NULL,_T("Sakura.msstyles")); //注意:路徑不對會導致USkinInit函數執行失敗,不顯示皮膚。該文件要放在debug下
//USkinInit(NULL,NULL,_T("media.u3"));

4.加載皮膚(.u3皮膚)

USkinLoadSkin(LPCTSTR lpszFileName);
USkinLoadSkinFromBuffer(byte* lpBuffer,UINT nBufferSize);
USkinLoadSkinFromResource(HMODULE hInstance,LPCTSTR lpszResourceName,LPCTSTR lpszResourceType);

5.卸載皮膚庫

int CPMFCApp::ExitInstance()
{
    USkinExit(); // return CWinApp::ExitInstance();
}

6.更改顏色主題

USkinApplyColorTheme(float fHue,float fSaturation);
USkinApplyColorThemeByRGB(COLORREF clrTheme);

支持顏色主題。這可以使皮膚文件看起來像一個100個不同的皮膚。USkin提供了一個免費版本。

 

特點:

該控件有配套的皮膚開發包SkinBuilder,但現成的皮膚較少。

1、該控件支持對一種皮膚的多種顏色搭配方案。 

2、該控件支持20多種Windows控件。 如文件對話框,顏色對話框,打印對話框對話框,支持自定義的控件/第三方控件,

3、支持所見即所得的風格的皮膚文件編輯,支持MDI / SDI /對話風格的應用程序,支持百葉窗皮膚文件導入,可用於超過10000皮膚文件支持顏色主題,支持VC / SDK / VB / .NET,沒有語言限制,支持多線程,支持在運行時改變皮膚,支持所有的彈出菜單,包括編輯控制上下文菜單!

4、當對話框的菜單項下面沒有子菜單項時,鼠標移動到該菜單處時出現異常。 

5、返回的菜單句柄為空,無法實現選中(帶標記)功能。

6、對重繪控件的支持不好。

 

免費全新的SkinBuilder2.0(當前好像已經到3.0).獨創國內唯一完善的MDI模式的SkinBuilder,支持用戶自定義皮膚對象! 

7. 新增的繪制模式選項。獨有半透明效果支持!!! 

8. 皮膚對象支持消息事件!用來做Winamp太簡單了! 

 

 

有關鏈接:

免費皮膚控件的使用方法及效果測試——USkin v2.2

http://www.68idc.cn/help/mysqldata/DB2/20150902532500.html

USkin皮膚用法,資源,編輯器

http://download.csdn.net/download/youwuleon/2699150

基於USkin軟件換膚功能的實現

http://www.docin.com/p-752155506.html

http://www.orcode.com/article/Libraries_20122295.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM