75 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        wx/msw/scrolbar.h
 | 
						|
// Purpose:     wxScrollBar class
 | 
						|
// Author:      Julian Smart
 | 
						|
// Modified by:
 | 
						|
// Created:     01/02/97
 | 
						|
// Copyright:   (c) Julian Smart
 | 
						|
// Licence:     wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#ifndef _WX_SCROLBAR_H_
 | 
						|
#define _WX_SCROLBAR_H_
 | 
						|
 | 
						|
// Scrollbar item
 | 
						|
class WXDLLIMPEXP_CORE wxScrollBar: public wxScrollBarBase
 | 
						|
{
 | 
						|
public:
 | 
						|
    wxScrollBar() { m_pageSize = 0; m_viewSize = 0; m_objectSize = 0; }
 | 
						|
    virtual ~wxScrollBar();
 | 
						|
 | 
						|
    wxScrollBar(wxWindow *parent, wxWindowID id,
 | 
						|
            const wxPoint& pos = wxDefaultPosition,
 | 
						|
            const wxSize& size = wxDefaultSize,
 | 
						|
            long style = wxSB_HORIZONTAL,
 | 
						|
            const wxValidator& validator = wxDefaultValidator,
 | 
						|
            const wxString& name = wxScrollBarNameStr)
 | 
						|
    {
 | 
						|
        Create(parent, id, pos, size, style, validator, name);
 | 
						|
    }
 | 
						|
    bool Create(wxWindow *parent, wxWindowID id,
 | 
						|
            const wxPoint& pos = wxDefaultPosition,
 | 
						|
            const wxSize& size = wxDefaultSize,
 | 
						|
            long style = wxSB_HORIZONTAL,
 | 
						|
            const wxValidator& validator = wxDefaultValidator,
 | 
						|
            const wxString& name = wxScrollBarNameStr);
 | 
						|
 | 
						|
    int GetThumbPosition() const wxOVERRIDE;
 | 
						|
    int GetThumbSize() const wxOVERRIDE { return m_pageSize; }
 | 
						|
    int GetPageSize() const wxOVERRIDE { return m_viewSize; }
 | 
						|
    int GetRange() const wxOVERRIDE { return m_objectSize; }
 | 
						|
 | 
						|
    virtual void SetThumbPosition(int viewStart) wxOVERRIDE;
 | 
						|
    virtual void SetScrollbar(int position, int thumbSize, int range, int pageSize,
 | 
						|
            bool refresh = true) wxOVERRIDE;
 | 
						|
 | 
						|
    // needed for RTTI
 | 
						|
    void SetThumbSize( int s ) { SetScrollbar( GetThumbPosition() , s , GetRange() , GetPageSize() , true ) ; }
 | 
						|
    void SetPageSize( int s ) { SetScrollbar( GetThumbPosition() , GetThumbSize() , GetRange() , s , true ) ; }
 | 
						|
    void SetRange( int s ) { SetScrollbar( GetThumbPosition() , GetThumbSize() , s , GetPageSize() , true ) ; }
 | 
						|
 | 
						|
    void Command(wxCommandEvent& event) wxOVERRIDE;
 | 
						|
    virtual bool MSWOnScroll(int orientation, WXWORD wParam,
 | 
						|
                             WXWORD pos, WXHWND control) wxOVERRIDE;
 | 
						|
 | 
						|
    // override wxControl version to not use solid background here
 | 
						|
    virtual WXHBRUSH MSWControlColor(WXHDC pDC, WXHWND hWnd) wxOVERRIDE;
 | 
						|
 | 
						|
    virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const wxOVERRIDE;
 | 
						|
 | 
						|
    // returns true if the platform should explicitly apply a theme border
 | 
						|
    virtual bool CanApplyThemeBorder() const wxOVERRIDE { return false; }
 | 
						|
 | 
						|
protected:
 | 
						|
    virtual wxSize DoGetBestSize() const wxOVERRIDE;
 | 
						|
 | 
						|
    int m_pageSize;
 | 
						|
    int m_viewSize;
 | 
						|
    int m_objectSize;
 | 
						|
 | 
						|
    wxDECLARE_DYNAMIC_CLASS_NO_COPY(wxScrollBar);
 | 
						|
};
 | 
						|
 | 
						|
#endif
 | 
						|
    // _WX_SCROLBAR_H_
 |