[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