NewScrollBar.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #if !defined(AFX_NEWSCROLLBAR_H__172E5029_0B4D_482F_A4AE_6529407C9984__INCLUDED_)
  2. #define AFX_NEWSCROLLBAR_H__172E5029_0B4D_482F_A4AE_6529407C9984__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // NewScrollBar.h : header file
  7. //
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CNewScrollBar window
  10. class CNewScrollBar : public CScrollBar
  11. {
  12. // Construction
  13. public:
  14. CNewScrollBar();
  15. // Attributes
  16. public:
  17. CRect m_cliRect;//滚动条大小
  18. CRect m_rcLeftButton;//左箭头按钮大小
  19. CRect m_rcRightButton;//右箭头按钮大小
  20. CRect m_rcThumb;//滑块位置,大小
  21. CRect m_rcLeftChannel;//左通道大小
  22. CRect m_rcRightChannel;//左通道大小
  23. int m_arrowWidth;//箭头按钮宽度
  24. DWORD m_arrButtonState;//按钮是否被按下,0无按钮被按下,1左按钮被按下,2右按钮被按下
  25. BOOL m_isHover;//指明鼠标当前是否在,滚动条内
  26. BOOL m_isTrace;//指明鼠标当前是否在滑柄内,并且鼠标左键是按钮下状态
  27. double m_Ratio;//比率
  28. int m_nSize;//鼠标单击在滑块上,距滑块左边的距离
  29. int m_nModyType;
  30. void UpTriangle();
  31. void DownTriangle();
  32. void LeftTriangle();
  33. void RightTriangle();
  34. // Operations
  35. public:
  36. // Overrides
  37. // ClassWizard generated virtual function overrides
  38. //{{AFX_VIRTUAL(CNewScrollBar)
  39. public:
  40. protected:
  41. virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
  42. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  43. //}}AFX_VIRTUAL
  44. // Implementation
  45. public:
  46. virtual ~CNewScrollBar();
  47. // Generated message map functions
  48. protected:
  49. //{{AFX_MSG(CNewScrollBar)
  50. afx_msg void OnPaint();
  51. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  52. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  53. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  54. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  55. afx_msg void OnTimer(UINT nIDEvent);
  56. afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
  57. //}}AFX_MSG
  58. DECLARE_MESSAGE_MAP()
  59. };
  60. /////////////////////////////////////////////////////////////////////////////
  61. //{{AFX_INSERT_LOCATION}}
  62. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  63. #endif // !defined(AFX_NEWSCROLLBAR_H__172E5029_0B4D_482F_A4AE_6529407C9984__INCLUDED_)