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

界面编程

开发平台:

Visual C++

  1. #pragma once
  2. // CRTScrollBar1
  3. class CRTScrollBar1 : public CScrollBar
  4. {
  5. DECLARE_DYNAMIC(CRTScrollBar1)
  6. public:
  7. CRTScrollBar1();
  8. virtual ~CRTScrollBar1();
  9. typedef enum _ScrollBarSizeArea
  10. {
  11. AreaNone = 0,
  12. AreaTop = 1,
  13. AreaBottom = 2,
  14. AreaLeft = 1,
  15. AreaRight = 2
  16. }ScrollBarSizeArea;
  17. static void EnableRTStyle(BOOL IsEnable = TRUE);
  18. static void SetHorizontalBitmap(CBitmap* pHorizontal[],UINT DrawMode[]);
  19. static void SetVerticalBitmap(CBitmap* pVertical[],UINT DrawMode[]);
  20. static void SetVerticalUpArrowBitmap(CBitmap* pVerticalUpArrowBitmap[],UINT DrawMode[]);
  21. static void SetVerticalDownArrowBitmap(CBitmap* pVerticalDownArrowBitmap[],UINT DrawMode[]);
  22. static void SetHorizontalLeftArrowBitmap(CBitmap* pHorizontalLeftArrowBitmap[],UINT DrawMode[]);
  23. static void SetHorizontalRightArrowBitmap(CBitmap* pHorizontalRightArrowBitmap[],UINT DrawMode[]);
  24. void SetSizeArea(ScrollBarSizeArea Area = CRTScrollBar1::AreaNone);
  25. protected:
  26. BOOL m_bMouseDownArrowForback;
  27. BOOL m_bMouseDownArrowForwad;
  28. int  m_nThumbStart;
  29. BOOL m_bDragging;
  30. BOOL m_bMouseDown;
  31. ScrollBarSizeArea  m_SizeArea;
  32. static BOOL   m_IsEnableRTStyle;
  33. static CBitmap* m_ScrollBarVerticalBitmap[5];
  34. static CBitmap* m_ScrollBarHorizontalBitmap[5];
  35. static UINT     m_ScrollBarVerticalBitmapDrawMode[5];
  36. static UINT     m_ScrollBarHorizontalBitmapDrawMode[5];
  37. static CBitmap* m_ScrollBarUpArrowBitmap[5];
  38. static CBitmap* m_ScrollBarLeftArrowBitmap[5];
  39. static CBitmap* m_ScrollBarDownArrowBitmap[5];
  40. static CBitmap* m_ScrollBarRightArrowBitmap[5];
  41. static UINT     m_ScrollBarUpArrowBitmapDrawMode[5];
  42. static UINT     m_ScrollBarLeftArrowBitmapDrawMode[5];
  43. static UINT     m_ScrollBarDownArrowBitmapDrawMode[5];
  44. static UINT     m_ScrollBarRightArrowBitmapDrawMode[5];
  45. void DrawHorizontal(CDC *pDC);
  46. void DrawVertical(CDC *pDC);
  47. protected:
  48. DECLARE_MESSAGE_MAP()
  49. public:
  50. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  51. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  52. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  53. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  54. afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
  55. afx_msg void OnPaint();
  56. };