📄 skinppinc.h
字号:
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -