SkinLoad程序界面换肤工具

帅XO酱

帅XO酱

2016-01-29 11:55

SkinLoad程序界面换肤工具,SkinLoad程序界面换肤工具

SkinLoad程序界面换肤工具
作者:耿海增

下载本文示例工程

版本更新SkinLoad v0.3

说明:SkinLoad是一个给程序换肤的工具,通过几个简单的函数调用就可以给你的应用程序加上漂亮的皮肤,包括所有的系统对话框。通过SkinLoadMaker皮肤编辑工具,可以自己定制皮肤。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/cyuyanjiaocheng/)

界面效果图如下:




如何在程序中实现换肤:

一、静态链接动态库

需要三个文件:"SkinLoadLib.h","SkinLoad.lib","SkinLoad.dll"

1、添加 "SkinLoadLib.h"、"SkinLoad.lib"文件到工程中
2、在App类中包含头文件:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/cyuyanjiaocheng/)
#include "SkinLoadLib.h"
3、在App类的 InitInstance()函数中初始化动态库,加载皮肤文件:
InitSkinLoad(GetCurrentThreadId());LoadSkin("xp_normal.skin"); //可以放在任何地方,如果在不同的文件中,要包含路径
4、在App类的 ExitInstance() 中卸载动态库,释放使用的资源:
ExitSkinLoad();
说明:这样使用方便,缺点是程序运行时必须保证 SkinLoad.dll 文件存在,否则程序无法运行

二、动态加载动态库

1、在App类的 InitInstance()函数中加载动态库。
定义一个变量保存加载的动态库句柄,可以是全局的,也可以是App类的成员变量
HINSTANCE m_hDllSkin;m_hDllSkin = LoadLibrary("SkinLoad.dll");
2、在App类的 InitInstance()函数中调用初始化函数和加载皮肤文件的函数
if(m_hDllSkin != NULL){typedef int  (* INITSKIN)(DWORD dwThreadId);typedef bool  (* LOADSKIN)(char* cPath);INITSKIN pInitSkin = (INITSKIN)GetProcAddress(m_hDllSkin,"InitSkinLoad");LOADSKIN pLoadSkin = (LOADSKIN)GetProcAddress(m_hDllSkin,"LoadSkin");if(pInitSkin != NULL && pLoadSkin != NULL){(*pInitSkin)(GetCurrentThreadId());(*pLoadSkin)("xp_normal.skin");}}
3、在App类的 ExitInstance() 中卸载动态库
if(m_hDllSkin != NULL){typedef bool (* EXITSKIN)();EXITSKIN pExitSkin = (EXITSKIN)GetProcAddress(m_hDllSkin,"ExitSkin");if(pExitSkin != NULL){(*pExitSkin)();} FreeLibrary(m_hDllSkin);}
说明:这样使用比较麻烦,要手动加载动态库,还要自己获取函数指针再用。但是这样可以在程序中判断所需的 SkinLoad.dll 动态库是否存在,不至于造成程序无法运行

皮肤制作工具 SkinLoadMaker 使用说明:

程序自带一个皮肤文件,制作自己的皮肤文件时只要修改相应的地方就可以了。如果不做任何修改也可以直接生成一个皮肤文件,和我的 xp_normal.skin 是一样的。运行 SkinLoadMaker 时,会产生一个Temp文件夹,里面放的是程序使用的图片,大家照着格式改就可以了。
说明:
标题栏背景图:要求有两个,一个是正常状态的,一个是程序失去焦点的,按上下顺序放在一张图中
标题栏按钮:包括最小化、最大化、恢复、关闭。每种一幅图,包含四张小图,分别是Normal、Mouse On、Mouse Down、Disabled
按钮位图:可以不使用。也是四个状态放到一张图中。分别是Normal、Mouse On、Mouse Down、Disabled

(全文完)
展开更多 50%)
分享

猜你喜欢

SkinLoad程序界面换肤工具

C语言教程 C语言函数
SkinLoad程序界面换肤工具

使用免费界面换肤软件 USkin

C语言教程 C语言函数
使用免费界面换肤软件 USkin

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

vc中使用免费界面换肤软件 USkin

编程语言 网络编程
vc中使用免费界面换肤软件 USkin

程序界面多模式显示

C语言教程 C语言函数
程序界面多模式显示

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

分析DFM文件生成程序界面

编程语言 网络编程
分析DFM文件生成程序界面

VC程序界面多模式显示

编程语言 网络编程
VC程序界面多模式显示

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用AUTOCAD自己打造莲花图案

用AUTOCAD自己打造莲花图案

三维建模教程--工艺壸的制作

三维建模教程--工艺壸的制作
下拉加载更多内容 ↓