RTWnd.h
上传用户:qhonly
上传日期:2013-06-10
资源大小:487k
文件大小:4k
源码类别:

界面编程

开发平台:

Visual C++

  1. #pragma once
  2. class CRTWnd
  3. {
  4. public:
  5. CRTWnd(void);
  6. ~CRTWnd(void);
  7. typedef enum _tagDrawState
  8. {
  9. StateNormal = 0,
  10. StateDown = 1,
  11. StateFocus = 2,
  12. StateDisable = 3
  13. }DrawState;
  14. typedef enum _tagMouseState
  15. {
  16. MouseStateNormal = 0,
  17. MouseStateDown =1,
  18. MouseStateUp = 2
  19. }MouseState;
  20. typedef enum _tagTitleButtons
  21. {
  22. ExitButton = 0,
  23. MaximizeButton = 1,
  24. MinimizeButton = 2,
  25. NoneButton = -1
  26. }TitleButtons;
  27. protected:
  28. static COLORREF    m_BorderColor[4];
  29. static CBitmap*    m_TitleBarBitmap[5];
  30. static CBitmap*    m_MenuBarBitmap[5];
  31. static CBitmap*    m_MaximizeButtonBitmap[5];
  32. static CBitmap*    m_MinimizeButtonBitmap[5];
  33. static CBitmap*    m_RestoreButtonBitmap[5];
  34. static CBitmap*    m_ExitButtonBitmap[5];
  35. static UINT        m_TitleBarBitmapDrawMode[5];
  36. static UINT        m_MenuBarBitmapDrawMode[5];
  37. static UINT        m_MaximizeButtonBitmapDrawMode[5];
  38. static UINT        m_MinimizeButtonBitmapDrawMode[5];
  39. static UINT        m_RestoreButtonBitmapDrawMode[5];
  40. static UINT        m_ExitButtonBitmapDrawMode[5];
  41. static BOOL        m_bUseRTStyle;
  42. static BOOL        m_bUsedDefTitleBar;
  43. BOOL        m_bActive;
  44. int         m_ExitButtonState;
  45. int         m_MaximizeButtonState;
  46. int         m_MinimizeButtonState;
  47. MouseState  m_NcMouseState;
  48. TitleButtons m_SelTitleButton;
  49. public:
  50. static BOOL EnableRTStyle(BOOL bEnable = TRUE);
  51. BOOL RTDrawFrameBorder(CDC *pDC,HRGN hRgn,HWND hWnd);
  52. BOOL RTDrawMenuBar(CDC *pDC,HRGN hRgn,LPARAM lParam,HWND hWnd);
  53. BOOL RTDrawTitleBar(CDC* pDC,HRGN hRgn,BOOL bActive,HWND hWnd);
  54. BOOL RTDrawTitleBarButtons(CDC* pDC,HRGN hRgn,HWND hWnd);
  55. BOOL RTDrawDefaultMenu(LPARAM lParam,HRGN hRgn,HWND hWnd);
  56. static BOOL SetBorderColor(COLORREF ColorArray[]);
  57. static BOOL SetMaximizeButtonBitmap(CBitmap *MaximizeButtonBitmap[],UINT DrawMode[]);
  58. static BOOL SetMinimizeButtonBitmap(CBitmap *MinimizeButtonBitmap[],UINT DrawMode[]);
  59. static BOOL SetExitButtonBitmap(CBitmap *ExitButtonBitmap[],UINT DrawMode[]);
  60. static BOOL SetRestoreButtonBitmap(CBitmap* RestoreButtonBitmap[],UINT DrawMode[]);
  61. static BOOL SetTitleBarBitmap(CBitmap* TitleBarBitmap[],UINT DrawMode[]);
  62. static BOOL SetMenuBarBitmap(CBitmap* MenuBarBitmap[],UINT DrawMode[]);
  63. BOOL OnRTNcPaint(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  64. BOOL OnRTNcActive(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  65. BOOL OnRTActive(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  66. BOOL OnRTNodify(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  67. BOOL OnRTActiveApp(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  68. BOOL OnRTSetIcon(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  69. BOOL OnRTNcMouseMove(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  70. BOOL OnRTNcLMouseDown(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  71. BOOL OnRTNcLMouseUp(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  72. BOOL OnRTMouseMove(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  73. BOOL OnRTLButtonUp(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  74. BOOL OnRTNcHitTest(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  75. BOOL OnRTSetText(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  76. BOOL OnRTSetCursor(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  77. BOOL OnRTSysCommand(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  78. BOOL OnRTInitMenuPop(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  79. BOOL RTWindowProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,LRESULT* pResult);
  80. };