1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/scrolbar.h
3 // Purpose: wxScrollBar class
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_SCROLBAR_H_
13 #define _WX_SCROLBAR_H_
16 class WXDLLIMPEXP_CORE wxScrollBar
: public wxScrollBarBase
19 wxScrollBar() { m_pageSize
= 0; m_viewSize
= 0; m_objectSize
= 0; }
20 virtual ~wxScrollBar();
22 wxScrollBar(wxWindow
*parent
, wxWindowID id
,
23 const wxPoint
& pos
= wxDefaultPosition
,
24 const wxSize
& size
= wxDefaultSize
,
25 long style
= wxSB_HORIZONTAL
,
26 const wxValidator
& validator
= wxDefaultValidator
,
27 const wxString
& name
= wxScrollBarNameStr
)
29 Create(parent
, id
, pos
, size
, style
, validator
, name
);
31 bool Create(wxWindow
*parent
, wxWindowID id
,
32 const wxPoint
& pos
= wxDefaultPosition
,
33 const wxSize
& size
= wxDefaultSize
,
34 long style
= wxSB_HORIZONTAL
,
35 const wxValidator
& validator
= wxDefaultValidator
,
36 const wxString
& name
= wxScrollBarNameStr
);
38 int GetThumbPosition() const ;
39 int GetThumbSize() const { return m_pageSize
; }
40 int GetPageSize() const { return m_viewSize
; }
41 int GetRange() const { return m_objectSize
; }
43 virtual void SetThumbPosition(int viewStart
);
44 virtual void SetScrollbar(int position
, int thumbSize
, int range
, int pageSize
,
48 void SetThumbSize( int s
) { SetScrollbar( GetThumbPosition() , s
, GetRange() , GetPageSize() , true ) ; }
49 void SetPageSize( int s
) { SetScrollbar( GetThumbPosition() , GetThumbSize() , GetRange() , s
, true ) ; }
50 void SetRange( int s
) { SetScrollbar( GetThumbPosition() , GetThumbSize() , s
, GetPageSize() , true ) ; }
52 void Command(wxCommandEvent
& event
);
53 virtual bool MSWOnScroll(int orientation
, WXWORD wParam
,
54 WXWORD pos
, WXHWND control
);
56 // override wxControl version to not use solid background here
57 virtual WXHBRUSH
MSWControlColor(WXHDC pDC
, WXHWND hWnd
);
59 virtual WXDWORD
MSWGetStyle(long style
, WXDWORD
*exstyle
) const;
61 // returns true if the platform should explicitly apply a theme border
62 virtual bool CanApplyThemeBorder() const { return false; }
65 virtual wxSize
DoGetBestSize() const;
71 DECLARE_DYNAMIC_CLASS_NO_COPY(wxScrollBar
)