DittoWindow.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. int 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, int captionSize, int captionFontSize);
  28. bool SetCaptionColors(COLORREF left, COLORREF right, COLORREF border);
  29. void SetCaptionTextColor(COLORREF color);
  30. void SetTitleTextHeight(CWnd *pWnd);
  31. void SnapToEdge(CWnd *pWnd, WINDOWPOS* lpwndpos);
  32. long m_lTopBorder;
  33. long m_lRightBorder;
  34. long m_lBottomBorder;
  35. long m_lLeftBorder;
  36. bool m_bDrawClose;
  37. bool m_sendWMClose;
  38. bool m_bDrawChevron;
  39. bool m_bDrawMaximize;
  40. bool m_bDrawMinimize;
  41. CRect m_crCloseBT;
  42. CRect m_crChevronBT;
  43. CRect m_crMaximizeBT;
  44. CRect m_crMinimizeBT;
  45. CRect m_crWindowIconBT;
  46. CFont m_VertFont;
  47. CFont m_HorFont;
  48. bool m_bMinimized;
  49. bool m_bMouseDownOnChevron;
  50. bool m_bMouseOverChevron;
  51. bool m_bMouseDownOnClose;
  52. bool m_bMouseOverClose;
  53. bool m_bMouseDownOnMinimize;
  54. bool m_bMouseOverMinimize;
  55. bool m_bMouseDownOnMaximize;
  56. bool m_bMouseOverMaximize;
  57. COLORREF m_CaptionColorLeft;
  58. COLORREF m_CaptionColorRight;
  59. COLORREF m_CaptionTextColor;
  60. COLORREF m_border;
  61. CGdiImageDrawer m_closeButton;
  62. CGdiImageDrawer m_chevronRightButton;
  63. CGdiImageDrawer m_chevronLeftButton;
  64. CGdiImageDrawer m_maximizeButton;
  65. CGdiImageDrawer m_minimizeButton;
  66. //CGdiImageDrawer m_windowIcon;
  67. CString m_customWindowTitle;
  68. bool m_useCustomWindowTitle;
  69. int m_captionBorderWidth;
  70. int m_titleTextHeight;
  71. bool m_buttonDownOnCaption;
  72. };