DittoWindow.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #pragma once
  2. #include "GdipButton.h"
  3. #include "GdiImageDrawer.h"
  4. #define BUTTON_CLOSE 1
  5. #define BUTTON_CHEVRON 2
  6. #define BUTTON_MINIMIZE 3
  7. #define BUTTON_MAXIMIZE 4
  8. class CDittoWindow
  9. {
  10. public:
  11. CDittoWindow(void);
  12. ~CDittoWindow(void);
  13. void DoNcPaint(CWnd *pWnd);
  14. void DrawChevronBtn(CWindowDC &dc, CWnd *pWnd);
  15. void DrawCloseBtn(CWindowDC &dc, CWnd *pWnd);
  16. void DrawMaximizeBtn(CWindowDC &dc, CWnd *pWnd);
  17. void DrawMinimizeBtn(CWindowDC &dc, CWnd *pWnd);
  18. void DrawWindowIcon(CWindowDC &dc, CWnd *pWnd);
  19. void DoCreate(CWnd *pWnd);
  20. void DoNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp);
  21. UINT DoNcHitTest(CWnd *pWnd, CPoint point);
  22. void DoSetRegion(CWnd *pWnd);
  23. long DoNcLButtonUp(CWnd *pWnd, UINT nHitTest, CPoint point);
  24. void DoNcLButtonDown(CWnd *pWnd, UINT nHitTest, CPoint point);
  25. void DoNcMouseMove(CWnd *pWnd, UINT nHitTest, CPoint point) ;
  26. bool DoPreTranslateMessage(MSG* pMsg);
  27. void SetCaptionOn(CWnd *pWnd, int nPos, bool bOnstartup);
  28. bool SetCaptionColors(COLORREF left, COLORREF right, COLORREF border);
  29. void SetCaptionTextColor(COLORREF color);
  30. long m_lTopBorder;
  31. long m_lRightBorder;
  32. long m_lBottomBorder;
  33. long m_lLeftBorder;
  34. bool m_bDrawClose;
  35. bool m_sendWMClose;
  36. bool m_bDrawChevron;
  37. bool m_bDrawMaximize;
  38. bool m_bDrawMinimize;
  39. CRect m_crCloseBT;
  40. CRect m_crChevronBT;
  41. CRect m_crMaximizeBT;
  42. CRect m_crMinimizeBT;
  43. CRect m_crWindowIconBT;
  44. CFont m_VertFont;
  45. CFont m_HorFont;
  46. bool m_bMinimized;
  47. bool m_bMouseDownOnChevron;
  48. bool m_bMouseOverChevron;
  49. bool m_bMouseDownOnClose;
  50. bool m_bMouseOverClose;
  51. bool m_bMouseDownOnMinimize;
  52. bool m_bMouseOverMinimize;
  53. bool m_bMouseDownOnMaximize;
  54. bool m_bMouseOverMaximize;
  55. COLORREF m_CaptionColorLeft;
  56. COLORREF m_CaptionColorRight;
  57. COLORREF m_CaptionTextColor;
  58. COLORREF m_border;
  59. CGdiImageDrawer m_closeButton;
  60. CGdiImageDrawer m_chevronRightButton;
  61. CGdiImageDrawer m_chevronLeftButton;
  62. CGdiImageDrawer m_maximizeButton;
  63. CGdiImageDrawer m_minimizeButton;
  64. //CGdiImageDrawer m_windowIcon;
  65. CString m_customWindowTitle;
  66. bool m_useCustomWindowTitle;
  67. };