library.h 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*
  2. * IRS Skin Library
  3. * Designed by Kilo(110i@110i.net)
  4. * (C)CopyRight, 2003-2004, IRS, All Right Reserved
  5. * iRacer.Studio - HttP://wWw.110i.nEt
  6. */
  7. #ifndef _LIBRARY_HEADER
  8. #define _LIBRARY_HEADER
  9. BOOL IRStartup( HINSTANCE hModule, DWORD dwThreadID );
  10. BOOL IRComplete( void );
  11. #include "BitmapEx.h"
  12. #include "DialogExt.h"
  13. #include <windows.h>
  14. #include <afxtempl.h>
  15. extern BOOL g_bDrawBk;
  16. extern HHOOK globalWndHookEx;
  17. extern CMapPtrToPtr g_ctrlMap;//保存对话框状态
  18. extern CArray<DWORD,DWORD>g_wndstatelist;//窗口状态
  19. extern COLORREF g_crDialogbkColor ; // 窗口背景颜色
  20. extern HBRUSH g_frameedgebrush; //窗口边框颜色画刷
  21. extern HPEN g_frameedgepen; //窗口边框颜色画笔
  22. extern COLORREF gChecks_crGradientXP[][4];
  23. extern BOOL bReg;
  24. extern HINSTANCE g_dllinst;
  25. extern HINSTANCE g_maininst;
  26. // 设置窗口状态
  27. #define CXPM_SETSTATE(Data, Mask, IsSet) ((IsSet) ? (Data |= Mask) : (Data &= ~Mask))
  28. // 窗口状态
  29. #define CXPS_SPINEDIT 0x00000003L // spin has a edit parent
  30. #define CXPS_DISABLED 0x00000001L // 禁用状态
  31. #define CXPS_PRESSED 0x00000002L // 按下状态
  32. #define CXPS_HOTLIGHT 0x00000004L // 高亮状态 (鼠标在该窗口上)
  33. #define CXPS_FOCUS 0x00000008L // 具有键盘输入焦点
  34. #define CXPS_DEFAULT 0x00000010L // 默认状态 (用于按钮)
  35. #define CXPS_CHECKED 0x00000020L // 选中状态 (用于复选框)
  36. #define CXPS_INDETERMINATE 0x00000040L // 未确定状态 (用于复选框)
  37. #define CXPS_READONLY 0x00000080L // 只读状态 (用于编辑框)
  38. #define CXPS_NOPAINT 0x00000100L // 无效区状态
  39. #define CXPS_PAINT 0x00000200L // 有效区状态
  40. #define CXPS_HORIZON 0x00000400L // 窗口具有水平属性 (滚动条、旋转控件)
  41. #define CXPS_VERTICAL 0x00000800L // 窗口具有垂直属性 (滚动条、旋转控件)
  42. // Thumb 箭头状态,用于旋转控件、下拉框、滚动条
  43. #define CXPH_LARGEARROW 0x01000000L // 大的箭头标志
  44. #define CXPH_DROPHANDLE 0x02000000L // 滚动条中间的滚动块使用的托动标志
  45. #define CXPH_SMALLARROW 0x04000000L // 小的箭头标志
  46. #define CXPH_LEFTWARDS 0x08000000L // 箭头向左
  47. #define CXPH_UPWARDS 0x10000000L // 箭头向上
  48. #define CXPH_RIGHTWARDS 0x20000000L // 箭头向右
  49. #define CXPH_DOWNWARDS 0x40000000L // 箭头向下
  50. #define CXPH_HASFRAME 0x80000000L // 具有外框
  51. #define CXPH_AREA 0x00100000L // 绘滚动条中心区域
  52. // 滚动条、旋转控件状态
  53. #define CXPU_UPPART 0x00010000L // 鼠标位于向上/向左框区域
  54. #define CXPU_MIDDLEPART 0x00020000L // 鼠标位于中间区域 (滚动块)
  55. #define CXPU_DOWNPART 0x00040000L // 鼠标位于向下/向右区域
  56. #define CXPU_ALIGNLEFT 0x00100000L // 位于编辑框左边
  57. #define CXPU_ALIGNRIGHT 0x00200000L // 位于编辑框右边
  58. int FindPos(DWORD str, CArray<DWORD,DWORD> &array);
  59. // MEMDCXP 结构,为了方便使用内存兼容设备场景而设计 MEMDCXP
  60. typedef struct tagMEMDCXP
  61. {
  62. HWND hWnd; // 窗口句柄,输入参数
  63. HDC hDC; // 窗口设备场景,输出参数
  64. HDC hMemDC; // 窗口内存兼容设备场景,输出参数
  65. BOOL bTransfer; // 是否要用在 hDC 和 hMemDC 间传送数据,输入参数
  66. HBITMAP hBitmap; // 位图句柄,输入和输出参数
  67. }MEMDCXP, * LPMEMDCXP;
  68. typedef struct
  69. {
  70. SCROLLINFO HorzInfo;
  71. SCROLLINFO VertInfo;
  72. DWORD style;
  73. }MYSCROLL;
  74. HDC GetMemDCXP(LPMEMDCXP pMdcxp);
  75. VOID ReleaseMemDCXP(LPMEMDCXP pMdcxp);
  76. VOID GradientRectXP(HDC hDC, LPRECT pRect,COLORREF crColor[4]);
  77. void DrawScrollBars(HWND m_hWnd, HDC hDC, const RECT& rect );//画滚动条
  78. VOID ScrollDrowThumbXP(HDC hDC, RECT Rect, LONG lState);
  79. void DrawScrollBar(HWND m_hWnd, HDC hDC, const RECT& rect, int nType, BOOL bScrollbarCtrl=FALSE );
  80. int GetPosFromHwnd(HWND hWnd);
  81. #endif