[MFC美化]SkinSharp使用详解2-SkinH.h函数介绍-飞外

SkinSharp功能强大,该皮肤库支持完全多种颜色改变等。

下面是静态链接库时的SkinH.h头文件:

/*在Stdafx.h文件中加入如下语句#include "SkinH.h"#pragma comment(lib, "Detours.lib")#pragma comment(lib, "SkinH_ST.lib")**************** 根据编译选项在链接选项中做如下设置 ***********下表显示根据要使用的运行时库应忽略的库。若要使用第一行运行时库 请忽略第2行的这些库 单线程 (libc.lib) libcmt.lib、msvcrt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib多线程 (libcmt.lib) libc.lib、msvcrt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib使用 DLL 的多线程 (msvcrt.lib) libc.lib、libcmt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib调试单线程 (libcd.lib) libc.lib、libcmt.lib、msvcrt.lib、libcmtd.lib、msvcrtd.lib调试多线程 (libcmtd.lib) libc.lib、libcmt.lib、msvcrt.lib、libcd.lib、msvcrtd.lib使用 DLL 的调试多线程 (msvcrtd.lib) libc.lib、libcmt.lib、msvcrt.lib、libcd.lib、libcmtd.lib**************************************************************/#ifndef SKIN_H#define SKIN_H///ERROR CODE//////////////////////// #define SRET_OK 0#define SRET_ERROR 1#define SRET_ERROR_FILE 2#define SRET_ERROR_PARAM 3#define SRET_ERROR_CREATE 4#define SRET_ERROR_FORMAT 5#define SRET_ERROR_VERSION 6#define SRET_ERROR_PASSWORD 7#define SRET_ERROR_INVALID 8////////////////////////////////////////接口列表extern "C" 功能: 静态库初始化 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_Init(HINSTANCE hInstance);
功能: 加载指定路径的皮肤进行换肤并指定相应的色调,饱和度,亮度 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_AttachExt( LPCTSTR strSkinFile, //皮肤文件路径 LPCTSTR strPassword, //皮肤密钥 int nHue, //色调, 取值范围0-360, 默认值0 int nSat, //饱和度, 取值范围0-256, 默认值0 int nBri //亮度, 取值范围0-256, 默认值0 功能: 加载指定资源进行换肤并指定相应的色调,饱和度,亮度 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_AttachRes( LPBYTE pShe, //资源皮肤数据指针 DWORD dwSize, //资源皮肤数据长度 LPCTSTR strPassword, //皮肤密钥 int nHue, //色调, 取值范围0-360, 默认值0 int nSat, //饱和度, 取值范围0-256, 默认值0 int nBri //亮度, 取值范围0-256, 默认值0 功能: 加载指定皮肤资源进行换肤并指定相应的色调,饱和度,亮度 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_AttachResEx( LPCTSTR lpName, //资源名 LPCTSTR lpType, //资源类型 LPCTSTR strPassword, //皮肤密钥 int nHue, //色调, 取值范围0-360, 默认值0 int nSat, //饱和度, 取值范围0-256, 默认值0 int nBri //亮度, 取值范围0-256, 默认值0 功能: 卸载换肤 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_Detach(); 功能: 卸载指定句柄的窗体或者控件的皮肤 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_DetachEx( HWND hWnd //指定卸载皮肤的窗体或控件的句柄 功能: 设置指定窗体的透明度 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_SetWindowAlpha( HWND hWnd, //窗体的句柄 int nAlpha //透明度 功能: 调整当前皮肤的色调,饱和度,亮度 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_AdjustHSV( int nHue, //色调, 取值范围0-360, 默认值0 int nSat, //饱和度, 取值范围0-256, 默认值0 int nBri //亮度, 取值范围0-256, 默认值0 功能: 获取指定窗口或控件在nX,nY处的颜色值 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_GetColor( HWND hWnd, //指定窗体或控件的句柄 int nX, //横坐标 int nY //纵坐标 功能: 指定窗体和控件的换肤类型 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_Map( HWND hWnd, //指定窗体或控件的句柄 int nType //换肤类型 //换肤类型 #define TYPE_UNKNOWN 0 //未知类型 #define TYPE_ANIMATE 1001 //动画控件 #define TYPE_CHECKBOX 1002 //复选框 #define TYPE_COMBOBOX 1003 //组合框 #define TYPE_COMBOLBOX 1004 //组合下拉框 #define TYPE_CONTROLBAR 1005 //控件栏 #define TYPE_DATETIME 1006 //日期控件 #define TYPE_EDITBOX 1007 //文本框 #define TYPE_GROUPBOX 1008 //分组框 #define TYPE_HEADERCTRL 1009 //列头控件 #define TYPE_HOTKEY 1010 //热键控件 #define TYPE_IPADDRESS 1011 //IP地址控件 #define TYPE_LABEL 1012 //标签控件 #define TYPE_LISTBOX 1013 //列表框 #define TYPE_LISTVIEW 1014 //列表视图 #define TYPE_MDICLIENT 1015 //MDI客户区 #define TYPE_MENU 1016 //菜单 #define TYPE_MONTHCAL 1017 //月历控件 #define TYPE_PICTURE 1018 //图片框 #define TYPE_PROGRESS 1019 //进度条 #define TYPE_PUSHBUTTON 1020 //普通按钮 #define TYPE_RADIOBUTTON 1021 //单选框 #define TYPE_REBAR 1022 //重组栏 #define TYPE_RICHEDIT 1023 //富文本框 #define TYPE_SCROLLBAR 1024 //滚动条 #define TYPE_SCROLLCTRL 1025 //内置滚动条的控件 #define TYPE_SPINCTRL 1026 //调节器 #define TYPE_STATUSBAR 1027 //状态栏 #define TYPE_TABCTRL 1028 //选择夹 #define TYPE_TOOLBAR 1029 //工具栏 #define TYPE_TOOLBARWND 1030 //MFC工具栏窗体 #define TYPE_TRACKBAR 1031 //滑条控件 #define TYPE_TREEVIEW 1032 //树形视图 #define TYPE_WINDOW 1034 //标准窗体 #define TYPE_COMCTRL 1036 //通用换肤 #define TYPE_PAINTCTRL 1037 //通用换肤 功能: 设置Aero特效 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_SetAero( int bAero //1为开启特效,0为关闭特效
int nShwSize, //阴影大小, 2-19, 默认值2 int nX, //水平偏移, 0-25, 默认值0 (目前不支持) int nY, //垂直偏移, 0-25, 默认值0 (目前不支持) int nRed, //红色分量, 0-255, 默认值 -1 int nGreen, //绿色分量, 0-255, 默认值 -1 int nBlue //蓝色分量, 0-255, 默认值 -1 功能: 设置窗体是否可以移动 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_SetWindowMovable( HWND hWnd, //窗口句柄 BOOL bMovable //0为不可移动, 1为可移动 功能: 设置控件的背景色(目前仅对单选框, 复选框, 分组框有效) 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_SetBackColor( HWND hWnd, //控件句柄 int nRed, //红色分量 int nGreen, //绿色分量 int nBlue //蓝色分量 功能: 设置控件的文本颜色色(目前仅对单选框,复选框,分组框有效) 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_SetForeColor( HWND hWnd, //控件句柄 int nRed, //红色分量 int nGreen, //绿色分量 int nBlue //蓝色分量 功能: 用于填充表格或者列表控件数据时,重复绘制影响执行效率问题 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_LockUpdate( HWND hWnd, //指定窗体或控件的句柄 int bUpdate //1为锁定绘制,0为解锁绘制 功能: 设置菜单透明度 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_SetMenuAlpha( int nAlpha //菜单透明度,取值范围 0 - 255 功能: 绘制指定设备上下文的元素 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_NineBlt( HDC hDtDC, //目标设备上下文 int left, //左上角水平坐标 int top, //左上角垂直坐标 int right, //右下角水平坐标 int bottom, //右下角垂直坐标 int nMRect //元素id 功能: 设置标题菜单栏 返回值: 成功返回0, 失败返回非0 int __stdcall SkinH_SetTitleMenuBar( HWND hWnd, //窗口句柄 BOOL bEnable, //是否设置 1为设置, 0 为取消 int nTMenuY, //菜单栏高度 int nTopOffs, //顶部偏移 int nRightOffs //右部偏移