XTPControlScrollBar.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:5k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // XTPControlScrollBar.h : interface for the CXTPControlScrollBar class.
  2. //
  3. // This file is a part of the XTREME COMMANDBARS MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #if !defined(__XTPCONTROLSCROLLBAR_H__)
  21. #define __XTPCONTROLSCROLLBAR_H__
  22. #if _MSC_VER > 1000
  23. #pragma once
  24. #endif // _MSC_VER > 1000
  25. #include "XTPControl.h"
  26. #include "XTPScrollBar.h"
  27. class CXTPControlScrollBar;
  28. //===========================================================================
  29. // Summary:
  30. //     CXTPControlScrollBar is a CXTPControl derived class.
  31. //     It represents an scrollbar control.
  32. //===========================================================================
  33. class _XTP_EXT_CLASS CXTPControlScrollBar : public CXTPControl, public CXTPScrollBase
  34. {
  35. DECLARE_XTP_CONTROL(CXTPControlScrollBar)
  36. public:
  37. //-----------------------------------------------------------------------
  38. // Summary:
  39. //     Constructs a CXTPControlScrollBar object
  40. //-----------------------------------------------------------------------
  41. CXTPControlScrollBar();
  42. //-----------------------------------------------------------------------
  43. // Summary:
  44. //     Destroys a CXTPControlScrollBar object, handles cleanup and deallocation
  45. //-----------------------------------------------------------------------
  46. virtual ~CXTPControlScrollBar();
  47. public:
  48. //-----------------------------------------------------------------------
  49. // Summary:
  50. //     Sets the scrollbar current position
  51. // Parameters:
  52. //     nPos - New position of the scrollbar control
  53. // See Also: GetPos, SetRange
  54. //-----------------------------------------------------------------------
  55. void SetPos(int nPos);
  56. //-----------------------------------------------------------------------
  57. // Summary:
  58. //     Call this member function to retrieve the current position of the scrollbar
  59. // Returns:
  60. //     The position of the scrollbar control
  61. // See Also: SetPos
  62. //-----------------------------------------------------------------------
  63. int GetPos() const;
  64. //-----------------------------------------------------------------------
  65. // Summary:
  66. //     Sets the upper and lower limits of the scrollbar control's range
  67. // Parameters:
  68. //     nMin - Specifies the lower limit of the range
  69. //     nMax - Specifies the upper limit of the range
  70. // See Also: SetPos
  71. //-----------------------------------------------------------------------
  72. void SetRange(int nMin, int nMax);
  73. protected:
  74. //-----------------------------------------------------------------------
  75. // Summary:
  76. //     This method is called when position of scrollbar was changed
  77. // Parameters:
  78. //     nSBCode - Specifies a scroll-bar code that indicates the user's scrolling request
  79. //     nPos - Contains the current scroll-box position
  80. //-----------------------------------------------------------------------
  81. virtual void OnScroll(UINT nSBCode, UINT nPos);
  82. protected:
  83. //{{AFX_CODEJOCK_PRIVATE
  84. CSize GetSize(CDC* pDC);
  85. BOOL HasFocus() const;
  86. void Draw(CDC* pDC);
  87. void OnCalcDynamicSize(DWORD dwMode);
  88. void OnClick(BOOL bKeyboard = FALSE, CPoint pt = CPoint(0, 0));
  89. virtual int GetCustomizeMinWidth() const;
  90. virtual BOOL IsCustomizeResizeAllow() const;
  91. void Copy(CXTPControl* pControl, BOOL bRecursive = FALSE);
  92. void DoPropExchange(CXTPPropExchange* pPX);
  93. void OnMouseMove(CPoint point);
  94. //}}AFX_CODEJOCK_PRIVATE
  95. protected:
  96. //{{AFX_CODEJOCK_PRIVATE
  97. virtual CRect GetScrollBarRect();
  98. virtual void GetScrollInfo(SCROLLINFO* psi);
  99. virtual void DoScroll(int cmd, int pos);
  100. virtual void RedrawScrollBar();
  101. virtual CXTPScrollBarPaintManager* GetScrollBarPaintManager() const;
  102. virtual BOOL IsScrollBarEnabled() const;
  103. virtual CWnd* GetParentWindow() const;
  104. //}}AFX_CODEJOCK_PRIVATE
  105. protected:
  106. int m_nMin;             // Lower range
  107. int m_nMax;             // Upper range
  108. int m_nPos;             // Current position of scrollbar
  109. int m_nPage;
  110. friend class CXTPControlScrollBarCtrl;
  111. };
  112. AFX_INLINE BOOL CXTPControlScrollBar::IsCustomizeResizeAllow() const {
  113. return TRUE;
  114. }
  115. AFX_INLINE int CXTPControlScrollBar::GetCustomizeMinWidth() const {
  116. return 20;
  117. }
  118. #endif // !defined(__XTPCONTROLSCROLLBAR_H__)