VS2017 MFC使用Skin++界面库实例(最简单的方法为自己的MFC程序换肤)

MFC的界面太丑了,又不想学界面设计,找了好多资源,要么各种各样的错误对于我这样的小白来说很难解决,要么就是使用起来太复杂,暂时也没有太多时间去研究,后来终于找到了VS2017也能用,简单方便的Skin++了,下载: https://download.csdn.net/download/qq_40996392/12388881。

序号 步骤说明
1. 下载Skin++皮肤库,拷贝SkinPPWTL.dll,SkinPPWTL.lib,SkinPPWTL.h以及皮肤文件到当前工程目录
2. 在工程中包含头文件, 连接lib库
3. 在 CXXXApp::InitInstance()函数中载入皮肤 skinppLoadSkin(“Longhorn Silver.ssk”);
4. 在CXXXApp::ExitInstance()中添加skinppExitSkin()
就是在程序启动的时候调用我们的库函数skinppLoadSkin()加载皮肤,结束的
时候调用库函数skinppExitSkin()结束我们皮肤的是使用。

Skin++不支持Unicode编码,项目—>属性—>字符集—>多字节字符集
如果上面的步骤还不够清晰明了,让我们用图说话!

1. 下载Skin++ (上面有链接)

 解压缩可以看到如下文件,将Skinppwtl.dll SkinPPWTL.h  SkinPPWTL.lib
  以及自己要使用的皮肤文件.ssk拷贝到工程目录

VS2017 MFC使用Skin++界面库实例(最简单的方法为自己的MFC程序换肤)_第1张图片
VS2017 MFC使用Skin++界面库实例(最简单的方法为自己的MFC程序换肤)_第2张图片

 使用VS2017建立MFC项目SkinTest,拷贝上述3个文件和皮肤库文件到项目目录

VS2017 MFC使用Skin++界面库实例(最简单的方法为自己的MFC程序换肤)_第3张图片

2. 包含头文件,连接lib

在pch.h包含头文件,连接lib

VS2017 MFC使用Skin++界面库实例(最简单的方法为自己的MFC程序换肤)_第4张图片

3. 在CXXXCPP::InitInstance()函数中库函数skinppLoadSkin()加载皮肤

XXX表示项目名,因为我的项目叫SkinTest,所以就是CSkinTest::InitInstance(),
这个函数的位置是在项目名.cpp中,即SkinTest.cpp,skinppLoadSkin()的参数
是皮肤文件名。

在这里插入图片描述

4. skinppExitSkin()结束皮肤

 CXXXApp::ExitInstance()函数一般是不显示的,所以需要我们自己将它添加
 出来,在类视图中找到我们的CXXXAPP类—>右键类向导—>虚函数—>选中虚函数
 ExitInstance—>添加函数—>确定

VS2017 MFC使用Skin++界面库实例(最简单的方法为自己的MFC程序换肤)_第5张图片
VS2017 MFC使用Skin++界面库实例(最简单的方法为自己的MFC程序换肤)_第6张图片

5. 报错易错点

5.1 拷贝的路径不对会报错。
5.2 Skin++不支持Unicode编码,报错
在这里插入图片描述

解决: 项目—>属性—>字符集—>选择多字节字符集

5.3 报错strcpy函数不安全(见下图)

在这里插入图片描述
解决:项目—>属性—>C/C++—>预处理器—>编辑 加入 _CRT_SECURE_NO_WARNING
VS2017 MFC使用Skin++界面库实例(最简单的方法为自己的MFC程序换肤)_第7张图片

皮肤之一调试效果
VS2017 MFC使用Skin++界面库实例(最简单的方法为自己的MFC程序换肤)_第8张图片

你可能感兴趣的:(VS2017 MFC使用Skin++界面库实例(最简单的方法为自己的MFC程序换肤))