/* * IRS Skin Library * Designed by Kilo(110i@110i.net) * (C)CopyRight, 2003-2004, IRS, All Right Reserved * iRacer.Studio - HttP://wWw.110i.nEt */ #ifndef _LIBRARY_HEADER #define _LIBRARY_HEADER BOOL IRStartup( HINSTANCE hModule, DWORD dwThreadID ); BOOL IRComplete( void ); #include "BitmapEx.h" #include "DialogExt.h" #include #include extern BOOL g_bDrawBk; extern HHOOK globalWndHookEx; extern CMapPtrToPtr g_ctrlMap;//保存对话框状态 extern CArrayg_wndstatelist;//窗口状态 extern COLORREF g_crDialogbkColor ; // 窗口背景颜色 extern HBRUSH g_frameedgebrush; //窗口边框颜色画刷 extern HPEN g_frameedgepen; //窗口边框颜色画笔 extern COLORREF gChecks_crGradientXP[][4]; extern BOOL bReg; extern HINSTANCE g_dllinst; extern HINSTANCE g_maininst; // 设置窗口状态 #define CXPM_SETSTATE(Data, Mask, IsSet) ((IsSet) ? (Data |= Mask) : (Data &= ~Mask)) // 窗口状态 #define CXPS_SPINEDIT 0x00000003L // spin has a edit parent #define CXPS_DISABLED 0x00000001L // 禁用状态 #define CXPS_PRESSED 0x00000002L // 按下状态 #define CXPS_HOTLIGHT 0x00000004L // 高亮状态 (鼠标在该窗口上) #define CXPS_FOCUS 0x00000008L // 具有键盘输入焦点 #define CXPS_DEFAULT 0x00000010L // 默认状态 (用于按钮) #define CXPS_CHECKED 0x00000020L // 选中状态 (用于复选框) #define CXPS_INDETERMINATE 0x00000040L // 未确定状态 (用于复选框) #define CXPS_READONLY 0x00000080L // 只读状态 (用于编辑框) #define CXPS_NOPAINT 0x00000100L // 无效区状态 #define CXPS_PAINT 0x00000200L // 有效区状态 #define CXPS_HORIZON 0x00000400L // 窗口具有水平属性 (滚动条、旋转控件) #define CXPS_VERTICAL 0x00000800L // 窗口具有垂直属性 (滚动条、旋转控件) // Thumb 箭头状态,用于旋转控件、下拉框、滚动条 #define CXPH_LARGEARROW 0x01000000L // 大的箭头标志 #define CXPH_DROPHANDLE 0x02000000L // 滚动条中间的滚动块使用的托动标志 #define CXPH_SMALLARROW 0x04000000L // 小的箭头标志 #define CXPH_LEFTWARDS 0x08000000L // 箭头向左 #define CXPH_UPWARDS 0x10000000L // 箭头向上 #define CXPH_RIGHTWARDS 0x20000000L // 箭头向右 #define CXPH_DOWNWARDS 0x40000000L // 箭头向下 #define CXPH_HASFRAME 0x80000000L // 具有外框 #define CXPH_AREA 0x00100000L // 绘滚动条中心区域 // 滚动条、旋转控件状态 #define CXPU_UPPART 0x00010000L // 鼠标位于向上/向左框区域 #define CXPU_MIDDLEPART 0x00020000L // 鼠标位于中间区域 (滚动块) #define CXPU_DOWNPART 0x00040000L // 鼠标位于向下/向右区域 #define CXPU_ALIGNLEFT 0x00100000L // 位于编辑框左边 #define CXPU_ALIGNRIGHT 0x00200000L // 位于编辑框右边 int FindPos(DWORD str, CArray &array); // MEMDCXP 结构,为了方便使用内存兼容设备场景而设计 MEMDCXP typedef struct tagMEMDCXP { HWND hWnd; // 窗口句柄,输入参数 HDC hDC; // 窗口设备场景,输出参数 HDC hMemDC; // 窗口内存兼容设备场景,输出参数 BOOL bTransfer; // 是否要用在 hDC 和 hMemDC 间传送数据,输入参数 HBITMAP hBitmap; // 位图句柄,输入和输出参数 }MEMDCXP, * LPMEMDCXP; typedef struct { SCROLLINFO HorzInfo; SCROLLINFO VertInfo; DWORD style; }MYSCROLL; HDC GetMemDCXP(LPMEMDCXP pMdcxp); VOID ReleaseMemDCXP(LPMEMDCXP pMdcxp); VOID GradientRectXP(HDC hDC, LPRECT pRect,COLORREF crColor[4]); void DrawScrollBars(HWND m_hWnd, HDC hDC, const RECT& rect );//画滚动条 VOID ScrollDrowThumbXP(HDC hDC, RECT Rect, LONG lState); void DrawScrollBar(HWND m_hWnd, HDC hDC, const RECT& rect, int nType, BOOL bScrollbarCtrl=FALSE ); int GetPosFromHwnd(HWND hWnd); #endif