第一版本:
2.
3.
4.
5.
想添加一个皮肤以美化页面怎么办,现如今有很多的换肤工具,不过几乎都是收费的,很无奈呀!地址1中可以下载Skin++2.1破解版的50个皮肤,不知道破解的彻底否,尽量不要用于商业,否则可能会有麻烦的。然后地址2、3、4、5主要介绍如何将Skin++应用于MFC的,请关注。
如何使用皮肤
其大致的步骤如下:
1. 将skinppwtl.dll、SkinPPWTL.lib、SkinPPWTL.h及选择的皮肤(**.ssk)copy至工程文件夹下;
2. 在项目-属性-配置属性-连接器-附加依赖项中添加Skin++的库文件(SkinPPWTL.lib);
3. 在文件stdafx.h中添加Skin++的头文件(#include "SkinPPWTL.h");
4. 在文件“工程名.cpp”中的函数InitInstance中添加语句skinppLoadSkin(_T("blue.ssk"));;
按照以上步骤差不多就可以使用Skin++的免费皮肤了,我是应用在VS2010基于对话框的MFC中的,在使用的过程中步骤3和4都需要在解决方案资源管理器下查找相应的而文件,在VC6.0中只需要在类视图中就可以查找。
另外,Skin++免费版是只支持ANSI方式,但VS2010在默认情况下编码为UNICODE方式,如果在编译链接时不把编码改为ANSI方式则无法正常生成,故更改:项目-属性-配置属性-常规-字符集-使用多字节字符集,如此,便可以正常使用Skin++的皮肤了。
但是,有可能项目在使用多字节字符集下编译出现其他的错误,如不能将CString转化为LPCWSTR等。解决方法如地址2所述,将字符集改回为原来的UNICODE方式,然后将skinppLoadSkin(_T("blue.ssk"));改为skinppLoadSkin("blue.ssk");。
然后在SkinPPWTL.h头文件里定义一个typedef char MYCHAR变量,并替换所有的TCHAR,并将语句TCHAR_tcscpy(szResImageName,_T(""));改为strcpy(szResImageName,"");即可,编译即可通过。至于其他的卸载、更换,有待探索。
第二版本:
1.新建基于对话框的MFC程序pifuTest。
void CPifuTestDlg::OnDestroy() { SkinH_Detach();//这句是核心 PostQuitMessage (0) ; CDialog::OnDestroy(); // TODO: Add your message handler code here }
6.这样子编译成功就能运行了,效果如下。