XTPControlScrollBar.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:5k
- // XTPControlScrollBar.h : interface for the CXTPControlScrollBar class.
- //
- // This file is a part of the XTREME COMMANDBARS MFC class library.
- // (c)1998-2008 Codejock Software, All Rights Reserved.
- //
- // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
- // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
- // CONSENT OF CODEJOCK SOFTWARE.
- //
- // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
- // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
- // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
- // SINGLE COMPUTER.
- //
- // CONTACT INFORMATION:
- // support@codejock.com
- // http://www.codejock.com
- //
- /////////////////////////////////////////////////////////////////////////////
- #if !defined(__XTPCONTROLSCROLLBAR_H__)
- #define __XTPCONTROLSCROLLBAR_H__
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- #include "XTPControl.h"
- #include "XTPScrollBar.h"
- class CXTPControlScrollBar;
- //===========================================================================
- // Summary:
- // CXTPControlScrollBar is a CXTPControl derived class.
- // It represents an scrollbar control.
- //===========================================================================
- class _XTP_EXT_CLASS CXTPControlScrollBar : public CXTPControl, public CXTPScrollBase
- {
- DECLARE_XTP_CONTROL(CXTPControlScrollBar)
- public:
- //-----------------------------------------------------------------------
- // Summary:
- // Constructs a CXTPControlScrollBar object
- //-----------------------------------------------------------------------
- CXTPControlScrollBar();
- //-----------------------------------------------------------------------
- // Summary:
- // Destroys a CXTPControlScrollBar object, handles cleanup and deallocation
- //-----------------------------------------------------------------------
- virtual ~CXTPControlScrollBar();
- public:
- //-----------------------------------------------------------------------
- // Summary:
- // Sets the scrollbar current position
- // Parameters:
- // nPos - New position of the scrollbar control
- // See Also: GetPos, SetRange
- //-----------------------------------------------------------------------
- void SetPos(int nPos);
- //-----------------------------------------------------------------------
- // Summary:
- // Call this member function to retrieve the current position of the scrollbar
- // Returns:
- // The position of the scrollbar control
- // See Also: SetPos
- //-----------------------------------------------------------------------
- int GetPos() const;
- //-----------------------------------------------------------------------
- // Summary:
- // Sets the upper and lower limits of the scrollbar control's range
- // Parameters:
- // nMin - Specifies the lower limit of the range
- // nMax - Specifies the upper limit of the range
- // See Also: SetPos
- //-----------------------------------------------------------------------
- void SetRange(int nMin, int nMax);
- protected:
- //-----------------------------------------------------------------------
- // Summary:
- // This method is called when position of scrollbar was changed
- // Parameters:
- // nSBCode - Specifies a scroll-bar code that indicates the user's scrolling request
- // nPos - Contains the current scroll-box position
- //-----------------------------------------------------------------------
- virtual void OnScroll(UINT nSBCode, UINT nPos);
- protected:
- //{{AFX_CODEJOCK_PRIVATE
- CSize GetSize(CDC* pDC);
- BOOL HasFocus() const;
- void Draw(CDC* pDC);
- void OnCalcDynamicSize(DWORD dwMode);
- void OnClick(BOOL bKeyboard = FALSE, CPoint pt = CPoint(0, 0));
- virtual int GetCustomizeMinWidth() const;
- virtual BOOL IsCustomizeResizeAllow() const;
- void Copy(CXTPControl* pControl, BOOL bRecursive = FALSE);
- void DoPropExchange(CXTPPropExchange* pPX);
- void OnMouseMove(CPoint point);
- //}}AFX_CODEJOCK_PRIVATE
- protected:
- //{{AFX_CODEJOCK_PRIVATE
- virtual CRect GetScrollBarRect();
- virtual void GetScrollInfo(SCROLLINFO* psi);
- virtual void DoScroll(int cmd, int pos);
- virtual void RedrawScrollBar();
- virtual CXTPScrollBarPaintManager* GetScrollBarPaintManager() const;
- virtual BOOL IsScrollBarEnabled() const;
- virtual CWnd* GetParentWindow() const;
- //}}AFX_CODEJOCK_PRIVATE
- protected:
- int m_nMin; // Lower range
- int m_nMax; // Upper range
- int m_nPos; // Current position of scrollbar
- int m_nPage;
- friend class CXTPControlScrollBarCtrl;
- };
- AFX_INLINE BOOL CXTPControlScrollBar::IsCustomizeResizeAllow() const {
- return TRUE;
- }
- AFX_INLINE int CXTPControlScrollBar::GetCustomizeMinWidth() const {
- return 20;
- }
- #endif // !defined(__XTPCONTROLSCROLLBAR_H__)