]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/scrolbar.h
   1 ///////////////////////////////////////////////////////////////////////////// 
   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 WXDLLEXPORT 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; 
  62     virtual wxSize 
DoGetBestSize() const; 
  68     DECLARE_DYNAMIC_CLASS_NO_COPY(wxScrollBar
)