SkinVerticleScrollbar.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #if !defined(AFX_SKINVERTICLESCROLLBAR_H__B382B86C_A9B6_4F61_A03D_53C27C76DF9E__INCLUDED_)
  2. #define AFX_SKINVERTICLESCROLLBAR_H__B382B86C_A9B6_4F61_A03D_53C27C76DF9E__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // SkinVerticleScrollbar.h : header file
  7. //
  8. #include "memdc.h"
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CSkinVerticleScrollbar window
  11. class CSkinVerticleScrollbar : public CStatic
  12. {
  13. // Construction
  14. public:
  15. CSkinVerticleScrollbar();
  16. // Attributes
  17. public:
  18. // Operations
  19. public:
  20. // Overrides
  21. // ClassWizard generated virtual function overrides
  22. //{{AFX_VIRTUAL(CSkinVerticleScrollbar)
  23. //}}AFX_VIRTUAL
  24. // Implementation
  25. public:
  26. CListCtrl* m_pList;
  27. void UpdateThumbPosition();
  28. long GetHeight() { return m_csThumb.cy; }
  29. virtual ~CSkinVerticleScrollbar();
  30. // Generated message map functions
  31. protected:
  32. void LimitThumbPosition();
  33. void Draw();
  34. void ScrollDown();
  35. void ScrollUp();
  36. void PageDown();
  37. void PageUp();
  38. void Scroll();
  39. bool m_bMouseDown;
  40. int m_nThumbTop;
  41. double m_dbThumbInterval;
  42. CBitmap m_cbArrow1;
  43. CBitmap m_cbArrow2;
  44. CBitmap m_cbSpan;
  45. CBitmap m_cbThumb;
  46. CSize m_csArrow1;
  47. CSize m_csArrow2;
  48. CSize m_csSpan;
  49. CSize m_csThumb;
  50. //{{AFX_MSG(CSkinVerticleScrollbar)
  51. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  52. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  53. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  54. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  55. afx_msg void OnPaint();
  56. afx_msg void OnTimer(UINT nIDEvent);
  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_SKINVERTICLESCROLLBAR_H__B382B86C_A9B6_4F61_A03D_53C27C76DF9E__INCLUDED_)