www.pudn.com > SingleNumber.rar > SkinPPInc.h
//*******************************************************************************
// COPYRIGHT NOTES
// ---------------
// This is a part of the Skin++ Library
// Copyright (C) 2002-2006 YongJinSoft Ltd.(http://www.uipower.com)
// All rights reserved.
//
// This source code can be used, distributed or modified
// only under terms and conditions
// of the accompanying license agreement.
//*******************************************************************************
#ifndef __SKINPPINC_H
#define __SKINPPINC_H
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#pragma pack(push, 8)
//功能 : 加载皮肤
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppLoadSkin(
LPCTSTR strSkinFile, //皮肤路径
BOOL bWithoutHook = FALSE); //该参数指定加载皮肤时是否开启Hook功能.
//功能 : 设置是否进行Hook
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSetHookMessage(
BOOL bHook, //True为开启Hook功能,False为关闭Hook功能.
DWORD dwHookStyle = 0x00000000L); //HS_MENU开启菜单自动换肤功能,
//HS_WINDOW开启窗口自动换肤功能,
//HS_NONE关闭所有Hook,HS_ALL开启所有自动换肤功能.
//功能 : 从资源加载皮肤
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppLoadSkinFromRes(
HINSTANCE hInstance, //资源实例句柄
LPCTSTR szResourceName, //资源名称
LPCTSTR szResourceType, //资源类型
LPCTSTR szSkinName, //皮肤名称
BOOL bWithoutHook = FALSE); //是否Hook
//功能 : 设置HookAPI的类型
//返回值: 返回当前API类型
DWORD __stdcall sppModifyHookAPIStyle(
DWORD dwRemove, //移除API类型
DWORD dwAdd); //添加API类型
//功能 : 获得当前API类型
//返回值: 返回当前API类型
DWORD __stdcall sppGetHookAPIStyle();
//功能 : 设置是否HookAPI
//返回值: 返回设置前的HookAPI状态
BOOL __stdcall sppSetHookAPI(
BOOL bHookAPI); //True为API Hook,False为去掉API Hook
//功能 : 获得HookAPI状态
//返回值: True表示当前为HookAPI,False表示当前没有HookAPI
BOOL __stdcall sppGetHookAPI();
//功能 : 移除皮肤
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppRemoveSkin();
//功能 : 设置标题栏自定义按钮是否显示
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSetCustSysBtnVisible(
UINT uResID, //按钮的ResourceID
BOOL bVisible); //是否可见
//功能 : 指定自定义系统按钮的Check状态
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSetCustSysBtnStatus(
UINT uResID, //自定义系统按钮的资源ID数值
BOOL bChecked = TRUE); //是否按下状态
//功能 : 设置皮肤色调
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppColorize(
COLORREF clr, //皮肤色调 如果clr==-1,就恢复原来的效果
double blend = 0.5, //混合透明度 0-1 , 0为无效果,1为无透明
BOOL bShowDialog = FALSE); //是否显示颜色选择对话框
//功能 : 弹出文件选择框选择皮肤
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSelectSkin();
//功能 : 在给定的HDC上,画位图。
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppDrawSkinBitmap(
HDC hdc, //目标DC
RECT rect, //绘制区域
HBITMAP hBitmap, //要绘制的位图句柄
BOOL bStretchAll, //是否拉伸
int nTopHeight = 0, //不被拉伸的顶高
int nBottomHeight = 0, //不被拉伸的底高
int nLeftWidth = 0, //不被拉伸的左宽
int nRightWidth = 0, //不被拉伸的右宽
COLORREF clrTrans = -1, //透明色
BOOL bTrans = FALSE //是否透明
);
//功能 : 在给定的HDC上,画位图
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppDrawSkinImage(
HDC hdc, //目标DC
RECT rect, //绘制区域
LPCTSTR lpszObjName, //要绘制皮肤图片名称
BOOL bStretchAll, //是否拉伸
int nLeftWidth, //不被拉伸的左宽
int nRightWidth, //不被拉伸的右宽
int nTopHeight, //不被拉伸的顶高
int nBottomHeight, //不被拉伸的底高
COLORREF clrTrans = -1, //透明色
BOOL bTrans = FALSE //是否透明
);
//功能 : 获得换肤后的系统颜色
//返回值: 成功返回当前皮肤的颜色,失败返回-1
COLORREF __stdcall sppGetSkinSysColor(
int nColorIndex); //要获取的颜色类型
//功能 : 获得Windows系统默认的颜色
//返回值: 成功返回Windows系统颜色,失败返回-1
COLORREF __stdcall sppGetDefaultSysColor(
int nColorIndex); //要获取的颜色类型
//功能 : 设置窗口的资源ID,该ID会在多语言版本中用到
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSetWindowResID(
HWND hWnd, //对话框窗口的句柄
int nResID); //对话框资源ID
//功能 : 获得窗口的资源ID
//返回值: 成功返回资源ID,失败返回-1
int __stdcall sppGetWindowResID(
HWND hWnd); //对话框窗口的句柄
//功能 : 设置异型窗口的资源ID
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSetFreeWindowID(
HWND hWnd, //对话框窗口的句柄
int nResID); //资源ID
//功能 : 获得异型窗口的资源ID
//返回值: 成功返回资源ID,失败返回-1
int __stdcall sppGetFreeWindowID(
HWND hWnd); //对话框窗口的句柄
//功能 : 设置窗口自画是否自己来处理,该方法用于自画部分需要自己处理的情况下
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSetCustomDraw(
HWND hWnd, //自画窗口句柄
BOOL bCustomDraw); //TRUE为自己处理自画,FALSE为交给Skin++处理自画
//功能 : 设置窗口是否计算RGN区域
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSetRgnEnable(
HWND hWnd, //窗口句柄
BOOL bRgnEnable); //True为计算区域,FALSE为不计算区域
//功能 : 设置ListHeader窗口的排序信息
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSetListHeaderSortInfo(
HWND hWnd, //ListHeader的窗口句柄
int nSortColumn, //要对ListHeader排序的列的索引
BOOL bSortAscending = TRUE); //是否为升序
//功能 : 设置是否自己画对话框背景,该方法用在需要自己对背景进行处理的情况下.
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSetDialogEraseBkgnd(
HWND hWnd, //对话框句柄
BOOL bErase); //TRUE 为自己画背景,FALSE 为Skin++画,
//如果没有调用该方法,Skin++将画对话框背景.
//功能 : 设置对话框背景是否剪切子控件区域
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSetDialogBkClipRgn(
HWND hWnd, //对话框句柄
BOOL bClip, //TRUE为不需要剪切,FALSE为需要剪切区域
BOOL bAllChild = TRUE); //TRUE为该窗体的所有子对话框都剪切.
//功能 : 设置按钮的提示
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSetButtonTooltip(
HWND hWnd, //按钮句柄
LPCTSTR szTooltip); //按钮提示文本
//功能 : 对指定的窗口去掉皮肤,并且保证不会再被换肤,即使使用SetSkinHwnd也不会换肤.
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSetNoSkinHwnd(
HWND hWnd, //窗口句柄
BOOL bChildNoSkin = TRUE); //是否对该窗口中的子窗口去掉皮肤
//功能 : 对指定的窗口进行换肤
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppSetSkinHwnd(
HWND hWnd, //窗口句柄
LPCTSTR szClassName = NULL, //要子类化的Skin类型 WC_DIALOGBOX/WC_CONTROLBAR等
BOOL bChildSkin = TRUE); //是否对该窗口中的子窗口加上皮肤
//功能 : 对指定的窗口临时去掉皮肤,可以通过SetSkinHwnd进行再次换肤
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppRemoveSkinHwnd(
HWND hWnd); //窗口句柄
//功能 : 获得Skin++的系统Metrics,作用同Windows API函数GetSystemMetrics,
// 取得Skin++实际的标题栏高度,菜单条高度等数值
//返回值: 成功返回Skin++的Metrics,失败返回-1
int __stdcall sppGetSystemMetrics(
HWND hWnd, //窗体句柄
int nIndex); //参数同GetSystemMetrics
//功能 : 多线程换肤用
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppInitializeSkin();
//功能 : 退出界面库,做清理工作。
//返回值: 成功返回True,失败返回False
BOOL __stdcall sppExitSkin();
//功能 : 设置窗口是否刷新
//返回值 : 成功返回True,失败返回False
//备注 : 在数据窗口添加数据时会导致刷新比较慢,
//这个时候可以用这个接口锁定刷新,数据插入完成后需重新开启刷新
BOOL __stdcall sppSetRedraw(
HWND hWnd, //窗口句柄
BOOL bRedraw); //True为刷新,False为锁定刷新
//功能 : 验证Skin++版本是否与当前程序的开发工具相匹配
//返回值 : 成功返回True,失败返回False
BOOL _stdcall sppValidateDevTools();
//[For PowerBuilder]
//功能 : 设置Tab控件的标签页的位置
//返回值 : 成功返回True,失败返回False
enum TABPOSITION
{
TABPOS_UNKNOWN = 0x00,
TABPOS_TABSONTOP = 0x01,
TABPOS_TABSONTOPANDBOTTOM = 0x02,
TABPOS_TABSONLEFT = 0x03,
TABPOS_TABSONLEFTANDRIGHT = 0x04,
TABPOS_TABSONBOTTOM = 0x05,
TABPOS_TABSONBOTTOMANDTOP = 0x06,
TABPOS_TABSONRIGHT = 0x07,
TABPOS_TABSONRIGHTANDLEFT = 0x08
};
BOOL __stdcall sppSetTabCtrlPosition(
HWND hWnd, //Tab控件的窗口句柄
TABPOSITION enumPosition, //TABPOSITION的枚举值
BOOL bPictureOnRight = FALSE); //图标是否显示在文本的右侧
//[For PowerBuilder]
//功能 : 设置Tab控件的标签页显示的索引值
//返回值 : 成功返回True,失败返回False
BOOL __stdcall sppSetTabCtrlItemsStatus(
HWND hWnd, //Tab控件的窗口句柄
int* pIndexs, //显示标签页的Index集合
int nCount //显示标签页的总个数
);
//功能 : 是对SetNoSkinHwnd的进一步处理,可以解决使用sppSetNoSkinHwnd引起的Debug版的断言错
#define SETNOSKINHWND(x) {\
HWND w=(x).UnsubclassWindow();\
sppSetNoSkinHwnd(w);\
(x).SubclassWindow(w);\
}
#ifdef _SKINPP_DYNAMICCALLDLL
class CSkinPPDynamicCallDll
{
public:
typedef BOOL (__stdcall *SPPLOADSKIN)(LPCTSTR strSkinFile,BOOL bWithoutHook);
typedef BOOL (__stdcall *SPPSETHOOKMESSAGE)(BOOL bHook,DWORD dwHookStyle);
typedef BOOL (__stdcall *SPPLOADSKINFROMRES)(HINSTANCE hInstance,LPCTSTR szResourceName,LPCTSTR szResourceType,LPCTSTR szSkinName,BOOL bWithoutHook);
typedef DWORD (__stdcall *SPPMODIFYHOOKAPISTYLE)(DWORD dwRemove,DWORD dwAdd);
typedef DWORD (__stdcall *SPPGETHOOKAPISTYLE)();
typedef BOOL (__stdcall *SPPSETHOOKAPI)(BOOL bHookAPI);
typedef BOOL (__stdcall *SPPGETHOOKAPI)();
typedef BOOL (__stdcall *SPPREMOVESKIN)();
typedef BOOL (__stdcall *SPPSETCUSTSYSBTNVISIBLE)(UINT uResID,BOOL bVisible);
typedef BOOL (__stdcall *SPPSETCUSTSYSBTNSTATUS)(UINT uResID,BOOL bChecked);
typedef BOOL (__stdcall *SPPCOLORIZE)(COLORREF clr,double blend,BOOL bShowDialog);
typedef BOOL (__stdcall *SPPSELECTSKIN)();
typedef BOOL (__stdcall *SPPDRAWSKINBITMAP)(HDC hdc,RECT rect,HBITMAP hBitmap,BOOL bStretchAll,
int nTopHeight,int nBottomHeight,int nLeftWidth,
int nRightWidth,COLORREF clrTrans,BOOL bTrans);
typedef BOOL (__stdcall *SPPDRAWSKINIMAGE)(HDC hdc,RECT rect,LPCTSTR lpszObjName,BOOL bStretchAll,
int nLeftWidth,int nRightWidth,int nTopHeight,
int nBottomHeight,COLORREF clrTrans,BOOL bTrans);
typedef COLORREF (__stdcall *SPPGETSKINSYSCOLOR)(int nColorIndex);
typedef COLORREF (__stdcall *SPPGETDEFAULTSYSCOLOR)();
typedef BOOL (__stdcall *SPPSETWINDOWRESID)(HWND hWnd,int nResID);
typedef int (__stdcall *SPPGETWINDOWRESID)(HWND hWnd);
typedef BOOL (__stdcall *SPPSETFREEWINDOWID)(HWND hWnd,int nResID);
typedef int (__stdcall *SPPGETFREEWINDOWID)(HWND hWnd);
typedef BOOL (__stdcall *SPPSETCUSTOMDRAW)(HWND hWnd,BOOL bCustomDraw);
typedef BOOL (__stdcall *SPPSETRGNENABLE)(HWND hWnd,BOOL bRgnEnable);
typedef BOOL (__stdcall *SPPSETLISTHEADERSORTINFO)(HWND hWnd,int nSortColumn,BOOL bSortAscending);
typedef BOOL (__stdcall *SPPSETDIALOGERASEBKGND)(HWND hWnd,BOOL bErase);
typedef BOOL (__stdcall *SPPSETDIALOGBKCLIPRGN)(HWND hWnd,BOOL bClip,BOOL bAllChild);
typedef BOOL (__stdcall *SPPSETBUTTONTOOLTIP)(HWND hWnd,LPCTSTR szTooltip);
typedef BOOL (__stdcall *SPPSETNOSKINHWND)(HWND hWnd,BOOL bChildNoSkin);
typedef BOOL (__stdcall *SPPSETSKINHWND)(HWND hWnd,LPCTSTR szClassName,BOOL bChildSkin);
typedef BOOL (__stdcall *SPPREMOVESKINHWND)(HWND hWnd);
typedef int (__stdcall *SPPGETSYSTEMMETRICS)(HWND hWnd,int nIndex);
typedef BOOL (__stdcall *SPPINITIALIZESKIN)();
typedef BOOL (__stdcall *SPPEXITSKIN)();
typedef BOOL (__stdcall *SPPSETREDRAW)(HWND hWnd,BOOL bRedraw);
typedef BOOL (__stdcall *SPPVALIDATEDEVTOOLS)();
SPPLOADSKIN LoadSkin;
SPPSETHOOKMESSAGE SetHookMessage;
SPPLOADSKINFROMRES LoadSkinFromRes;
SPPMODIFYHOOKAPISTYLE ModifyHookAPIStyle;
SPPGETHOOKAPISTYLE GetHookAPIStyle;
SPPSETHOOKAPI SetHookAPI;
SPPGETHOOKAPI GetHookAPI;
SPPREMOVESKIN RemoveSkin;
SPPSETCUSTSYSBTNVISIBLE SetCustSysBtnVisible;
SPPSETCUSTSYSBTNSTATUS SetCustSysBtnStatus;
SPPCOLORIZE Colorize;
SPPSELECTSKIN SelectSkin;
SPPDRAWSKINBITMAP DrawSkinBitmap;
SPPDRAWSKINIMAGE DrawSkinImage;
SPPGETSKINSYSCOLOR GetSkinSysColor;
SPPGETDEFAULTSYSCOLOR GetDefaultSysColor;
SPPSETWINDOWRESID SetWindowResID;
SPPGETWINDOWRESID GetWindowResID;
SPPSETFREEWINDOWID SetFreeWindowID;
SPPGETFREEWINDOWID GetFreeWindowID;
SPPSETCUSTOMDRAW SetCustomDraw;
SPPSETRGNENABLE SetRgnEnable;
SPPSETLISTHEADERSORTINFO SetListHeaderSortInfo;
SPPSETDIALOGERASEBKGND SetDialogEraseBkgnd;
SPPSETDIALOGBKCLIPRGN SetDialogBkClipRgn;
SPPSETBUTTONTOOLTIP SetButtonTooltip;
SPPSETNOSKINHWND SetNoSkinHwnd;
SPPSETSKINHWND SetSkinHwnd;
SPPREMOVESKINHWND RemoveSkinHwnd;
SPPGETSYSTEMMETRICS GetSystemMetrics;
SPPINITIALIZESKIN InitializeSkin;
SPPEXITSKIN ExitSkin;
SPPSETREDRAW SetRedraw;
SPPVALIDATEDEVTOOLS ValidateDevTools;
CSkinPPDynamicCallDll()
{
}
CSkinPPDynamicCallDll(LPCTSTR strDllPathName)
{
Initialize(strDllPathName);
}
virtual ~CSkinPPDynamicCallDll()
{
Exit();
}
BOOL Initialize(LPCTSTR strDllPathName)
{
if (m_hModuleDll)
return FALSE;
if (strDllPathName == NULL/* || _tcslen(strDllPathName) == 0*/)
{
#ifdef _UNICODE
m_hModuleDll = ::LoadLibraryW(L"SkinPlusPlusU.dll");
#else
m_hModuleDll = ::LoadLibraryA("SkinPlusPlus.dll");
#endif
}
else
m_hModuleDll = ::LoadLibrary(strDllPathName);
if (!m_hModuleDll)
return FALSE;
LoadSkin = (SPPLOADSKIN)GetProcAddress(m_hModuleDll,"sppLoadSkin");
SetHookMessage = (SPPSETHOOKMESSAGE)GetProcAddress(m_hModuleDll,"sppSetHookMessage");
LoadSkinFromRes = (SPPLOADSKINFROMRES)GetProcAddress(m_hModuleDll,"sppLoadSkinFromRes");
ModifyHookAPIStyle = (SPPMODIFYHOOKAPISTYLE)GetProcAddress(m_hModuleDll,"sppModifyHookAPIStyle");
GetHookAPIStyle = (SPPGETHOOKAPISTYLE)GetProcAddress(m_hModuleDll,"sppGetHookAPIStyle");
SetHookAPI = (SPPSETHOOKAPI)GetProcAddress(m_hModuleDll,"sppSetHookAPI");
GetHookAPI = (SPPGETHOOKAPI)GetProcAddress(m_hModuleDll,"sppGetHookAPI");
RemoveSkin = (SPPREMOVESKIN)GetProcAddress(m_hModuleDll,"sppRemoveSkin");
SetCustSysBtnVisible = (SPPSETCUSTSYSBTNVISIBLE)GetProcAddress(m_hModuleDll,"sppSetCustSysBtnVisible");
SetCustSysBtnStatus = (SPPSETCUSTSYSBTNSTATUS)GetProcAddress(m_hModuleDll,"sppSetCustSysBtnStatus");
Colorize = (SPPCOLORIZE)GetProcAddress(m_hModuleDll,"sppColorize");
SelectSkin = (SPPSELECTSKIN)GetProcAddress(m_hModuleDll,"sppSelectSkin");
DrawSkinBitmap = (SPPDRAWSKINBITMAP)GetProcAddress(m_hModuleDll,"sppDrawSkinBitmap");
DrawSkinImage = (SPPDRAWSKINIMAGE)GetProcAddress(m_hModuleDll,"sppDrawSkinImage");
GetSkinSysColor = (SPPGETSKINSYSCOLOR)GetProcAddress(m_hModuleDll,"sppGetSkinSysColor");
GetDefaultSysColor = (SPPGETDEFAULTSYSCOLOR)GetProcAddress(m_hModuleDll,"sppGetDefaultSysColor");
SetWindowResID = (SPPSETWINDOWRESID)GetProcAddress(m_hModuleDll,"sppSetWindowResID");
GetWindowResID = (SPPGETWINDOWRESID)GetProcAddress(m_hModuleDll,"sppGetWindowResID");
SetFreeWindowID = (SPPSETFREEWINDOWID)GetProcAddress(m_hModuleDll,"sppSetFreeWindowID");
GetFreeWindowID = (SPPGETFREEWINDOWID)GetProcAddress(m_hModuleDll,"sppGetFreeWindowID");
SetCustomDraw = (SPPSETCUSTOMDRAW)GetProcAddress(m_hModuleDll,"sppSetCustomDraw");
SetRgnEnable = (SPPSETRGNENABLE)GetProcAddress(m_hModuleDll,"sppSetRgnEnable");
SetListHeaderSortInfo = (SPPSETLISTHEADERSORTINFO)GetProcAddress(m_hModuleDll,"sppSetListHeaderSortInfo");
SetDialogEraseBkgnd = (SPPSETDIALOGERASEBKGND)GetProcAddress(m_hModuleDll,"sppSetDialogEraseBkgnd");
SetDialogBkClipRgn = (SPPSETDIALOGBKCLIPRGN)GetProcAddress(m_hModuleDll,"sppSetDialogBkClipRgn");
SetButtonTooltip = (SPPSETBUTTONTOOLTIP)GetProcAddress(m_hModuleDll,"sppSetButtonTooltip");
SetNoSkinHwnd = (SPPSETNOSKINHWND)GetProcAddress(m_hModuleDll,"sppSetNoSkinHwnd");
SetSkinHwnd = (SPPSETSKINHWND)GetProcAddress(m_hModuleDll,"sppSetSkinHwnd");
RemoveSkinHwnd = (SPPREMOVESKINHWND)GetProcAddress(m_hModuleDll,"sppRemoveSkinHwnd");
GetSystemMetrics = (SPPGETSYSTEMMETRICS)GetProcAddress(m_hModuleDll,"sppGetSystemMetrics");
InitializeSkin = (SPPINITIALIZESKIN)GetProcAddress(m_hModuleDll,"sppInitializeSkin");
ExitSkin = (SPPEXITSKIN)GetProcAddress(m_hModuleDll,"sppExitSkin");
SetRedraw = (SPPSETREDRAW)GetProcAddress(m_hModuleDll,"sppSetRedraw");
ValidateDevTools = (SPPVALIDATEDEVTOOLS)GetProcAddress(m_hModuleDll,"sppValidateDevTools");
return TRUE;
}
BOOL Exit()
{
if (!m_hModuleDll)
return FALSE;
::FreeLibrary(m_hModuleDll);
m_hModuleDll = NULL;
LoadSkin = NULL;
SetHookMessage = NULL;
LoadSkinFromRes = NULL;
ModifyHookAPIStyle = NULL;
GetHookAPIStyle = NULL;
SetHookAPI = NULL;
GetHookAPI = NULL;
RemoveSkin = NULL;
SetCustSysBtnVisible = NULL;
SetCustSysBtnStatus = NULL;
Colorize = NULL;
SelectSkin = NULL;
DrawSkinBitmap = NULL;
DrawSkinImage = NULL;
GetSkinSysColor = NULL;
GetDefaultSysColor = NULL;
SetWindowResID = NULL;
GetWindowResID = NULL;
SetFreeWindowID = NULL;
GetFreeWindowID = NULL;
SetCustomDraw = NULL;
SetRgnEnable = NULL;
SetListHeaderSortInfo = NULL;
SetDialogEraseBkgnd = NULL;
SetDialogBkClipRgn = NULL;
SetButtonTooltip = NULL;
SetNoSkinHwnd = NULL;
SetSkinHwnd = NULL;
RemoveSkinHwnd = NULL;
GetSystemMetrics = NULL;
InitializeSkin = NULL;
ExitSkin = NULL;
SetRedraw = NULL;
ValidateDevTools = NULL;
return TRUE;
}
private:
HMODULE m_hModuleDll;
};
#endif //_SKINPP_DYNAMICCALLDLL
#ifdef _SKINPP_STATIC //static
#ifdef _AFXDLL
//---------------------------------------------
// MFC shared DLL, Skin++ static library
//---------------------------------------------
#ifdef _DEBUG
#ifdef _UNICODE
#pragma comment(lib, "SkinPPStaticDDU.lib")
#pragma message("Automatically linking with SkinPPStaticDDU.lib")
#else
#pragma comment(lib, "SkinPPStaticDDA.lib")
#pragma message("Automatically linking with SkinPPStaticDDA.lib")
#endif //UNICODE
#else //Release
#ifdef _UNICODE
#pragma comment(lib, "SkinPPStaticDRU.lib")
#pragma message("Automatically linking with SkinPPStaticDRU.lib")
#else
#pragma comment(lib, "SkinPPStaticDRA.lib")
#pragma message("Automatically linking with SkinPPStaticDRA.lib")
#endif
#endif //_DEBUG
#else //MFC static library
//--------------------------------------------------
// MFC static library, Skin++ static library
//--------------------------------------------------
#ifdef _DEBUG
#ifdef _UNICODE
#pragma comment(lib, "SkinPPStaticSDU.lib")
#pragma message("Automatically linking with SkinPPStaticSDU.lib")
#else
#pragma comment(lib, "SkinPPStaticSDA.lib")
#pragma message("Automatically linking with SkinPPStaticSDA.lib")
#endif
#else
#ifdef _UNICODE
#pragma comment(lib, "SkinPPStaticSRU.lib")
#pragma message("Automatically linking with SkinPPStaticSRU.lib")
#else
#pragma comment(lib, "SkinPPStaticSRA.lib")
#pragma message("Automatically linking with SkinPPStaticSRA.lib")
#endif
#endif //_DEBUG
#endif //_AFXDLL
#elif !defined _SKINPP_DYNAMICCALLDLL //DLL
//------------------------------------------
// MFC shared DLL, Skin++ shared DLL
//------------------------------------------
#ifdef _UNICODE
#pragma comment(lib,"SkinPlusPlusU.lib")
#pragma message("Automatically linking with SkinPlusPlusU.dll")
#else
#pragma comment(lib,"SkinPlusPlus.lib")
#pragma message("Automatically linking with SkinPlusPlus.dll")
#endif
#endif //_SKINPP_STATIC
#ifndef WM_TOOLBARPAINTPRE
#define WM_TOOLBARPAINTPRE WM_USER + 0x0322
#endif
#ifndef WM_TOOLBARPAINTEND
#define WM_TOOLBARPAINTEND WM_USER + 0x0323
#endif
#ifndef SM_LBUTTONUP
#define SM_LBUTTONUP WM_USER + 0x0324
#endif
#ifndef SM_TITLELBUTTONUP
#define SM_TITLELBUTTONUP WM_USER + 0x0325
#endif
#ifndef SM_TITLELBUTTONDOWN
#define SM_TITLELBUTTONDOWN WM_USER + 0x0326
#endif
//HookMsg
#define HS_MENU 0x80000000L
#define HS_WINDOW 0x40000000L
#define HS_NONE 0x00000000L
#define HS_ALL HS_MENU | HS_WINDOW
//HookAPI
#define HOOKAPI_SCROLLBAR 0x80000000L
#define HOOKAPI_GETSYSCOLOR 0x40000000L
#define HOOKAPI_FILLRECT 0x20000000L
#define HOOKAPI_OTHER 0x10000000L
#define HOOKAPI_NONE 0x00000000L
#define HOOKAPI_ALL HOOKAPI_SCROLLBAR | HOOKAPI_GETSYSCOLOR | HOOKAPI_FILLRECT | HOOKAPI_OTHER
#pragma pack(pop)
#endif // __SKINPPINC_H