本实例运行效果图
网上MFC加皮肤的资料蛮多的,SDK方面的相对较少,但是原理雷同,废话不多说了。
简单说明一下过程
1、复制 SkinH.dll、SkinH.lib、SkinH.h 以及皮肤文件MSN.she 至工程目录下;
这里为了方便我直接把皮肤文件放到了一个文件夹中,在包含头文件的时候注意相应的路径就OK。
2、在工程中引入 .h 头文件及 Lib 静态库,大家在引用的时候要注意文件的路径;
#include "SkinH.h"
#pragma comment(lib,"SkinH.lib")
3、在创建窗口之前加载皮肤文件
SkinH_AttachEx(("skins/MSN.she"), NULL); //这句核心
hwnd = CreateWindow (szAppName, TEXT ("About Box Demo Program"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, hInstance, NULL) ;
4、在销毁窗口之前卸载皮肤文件
case WM_DESTROY :
SkinH_Detach();//这句是核心
PostQuitMessage (0) ;
return 0 ;
5、若文件想单独拿走运行,需拷贝文件:SkinH.dll及 *.she 皮肤文件到程序的当前目录中。
以上就是整体过程,比较简单明了,MFC也雷同这里不在啰唆,上述用的是SKinSharp的皮肤库,相应的皮肤库有很多,比如国内知名的Skin++,国外收费的SkinMagic等等。
源码下载:sdk皮肤应用实例.zip