wxScrollBar - Functions for wxScrollBar class
Please see following description for synopsis
wxScrollBar(3) Erlang Module Definition wxScrollBar(3)
NAME
wxScrollBar - Functions for wxScrollBar class
DESCRIPTION
A wxScrollBar is a control that represents a horizontal or vertical
scrollbar.
It is distinct from the two scrollbars that some windows provide auto-
matically, but the two types of scrollbar share the way events are
received.
Remark: A scrollbar has the following main attributes: range, thumb
size, page size, and position. The range is the total number of units
associated with the view represented by the scrollbar. For a table with
15 columns, the range would be 15. The thumb size is the number of
units that are currently visible. For the table example, the window
might be sized so that only 5 columns are currently visible, in which
case the application would set the thumb size to 5. When the thumb size
becomes the same as or greater than the range, the scrollbar will be
automatically hidden on most platforms. The page size is the number of
units that the scrollbar should scroll by, when 'paging' through the
data. This value is normally the same as the thumb size length, because
it is natural to assume that the visible window size defines a page.
The scrollbar position is the current thumb position. Most applications
will find it convenient to provide a function called AdjustScrollbars()
which can be called initially, from an OnSize event handler, and when-
ever the application data changes in size. It will adjust the view,
object and page size according to the size of the window and the size
of the data.
Styles
This class supports the following styles:
The difference between EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_CHANGED
The EVT_SCROLL_THUMBRELEASE event is only emitted when actually drag-
ging the thumb using the mouse and releasing it (This EVT_SCROLL_THUM-
BRELEASE event is also followed by an EVT_SCROLL_CHANGED event).
The EVT_SCROLL_CHANGED event also occurs when using the keyboard to
change the thumb position, and when clicking next to the thumb (In all
these cases the EVT_SCROLL_THUMBRELEASE event does not happen).
In short, the EVT_SCROLL_CHANGED event is triggered when scrolling/mov-
ing has finished independently of the way it had started. Please see
the page_samples_widgets ("Slider" page) to see the difference between
EVT_SCROLL_THUMBRELEASE and EVT_SCROLL_CHANGED in action.
See: Overview scrolling, Overview events, wxScrolled (not implemented
in wx)
This class is derived (and can use functions) from: wxControl wxWindow
wxEvtHandler
wxWidgets docs: wxScrollBar
EVENTS
Event types emitted from this class: scroll_top, scroll_bottom,
scroll_lineup, scroll_linedown, scroll_pageup, scroll_pagedown,
scroll_thumbtrack, scroll_thumbrelease, scroll_changed, scroll_top,
scroll_bottom, scroll_lineup, scroll_linedown, scroll_pageup,
scroll_pagedown, scroll_thumbtrack, scroll_thumbrelease, scroll_changed
DATA TYPES
wxScrollBar() = wx:wx_object()
EXPORTS
new() -> wxScrollBar()
Default constructor.
new(Parent, Id) -> wxScrollBar()
Types:
Parent = wxWindow:wxWindow()
Id = integer()
new(Parent, Id, Options :: [Option]) -> wxScrollBar()
Types:
Parent = wxWindow:wxWindow()
Id = integer()
Option =
{pos, {X :: integer(), Y :: integer()}} |
{size, {W :: integer(), H :: integer()}} |
{style, integer()} |
{validator, wx:wx_object()}
Constructor, creating and showing a scrollbar.
See: create/4, wxValidator (not implemented in wx)
destroy(This :: wxScrollBar()) -> ok
Destructor, destroying the scrollbar.
create(This, Parent, Id) -> boolean()
Types:
This = wxScrollBar()
Parent = wxWindow:wxWindow()
Id = integer()
create(This, Parent, Id, Options :: [Option]) -> boolean()
Types:
This = wxScrollBar()
Parent = wxWindow:wxWindow()
Id = integer()
Option =
{pos, {X :: integer(), Y :: integer()}} |
{size, {W :: integer(), H :: integer()}} |
{style, integer()} |
{validator, wx:wx_object()}
Scrollbar creation function called by the scrollbar constructor.
See new/3 for details.
getRange(This) -> integer()
Types:
This = wxScrollBar()
Returns the length of the scrollbar.
See: setScrollbar/6
getPageSize(This) -> integer()
Types:
This = wxScrollBar()
Returns the page size of the scrollbar.
This is the number of scroll units that will be scrolled when
the user pages up or down. Often it is the same as the thumb
size.
See: setScrollbar/6
getThumbPosition(This) -> integer()
Types:
This = wxScrollBar()
Returns the current position of the scrollbar thumb.
See: setThumbPosition/2
getThumbSize(This) -> integer()
Types:
This = wxScrollBar()
Returns the thumb or 'view' size.
See: setScrollbar/6
setThumbPosition(This, ViewStart) -> ok
Types:
This = wxScrollBar()
ViewStart = integer()
Sets the position of the scrollbar.
See: getThumbPosition/1
setScrollbar(This, Position, ThumbSize, Range, PageSize) -> ok
Types:
This = wxScrollBar()
Position = ThumbSize = Range = PageSize = integer()
setScrollbar(This, Position, ThumbSize, Range, PageSize,
Options :: [Option]) ->
ok
Types:
This = wxScrollBar()
Position = ThumbSize = Range = PageSize = integer()
Option = {refresh, boolean()}
Sets the scrollbar properties.
Remark: Let's say you wish to display 50 lines of text, using
the same font. The window is sized so that you can only see 16
lines at a time. You would use: The page size is 1 less than the
thumb size so that the last line of the previous page will be
visible on the next page, to help orient the user. Note that
with the window at this size, the thumb position can never go
above 50 minus 16, or 34. You can determine how many lines are
currently visible by dividing the current view size by the char-
acter height in pixels. When defining your own scrollbar behav-
iour, you will always need to recalculate the scrollbar settings
when the window size changes. You could therefore put your
scrollbar calculations and setScrollbar/6 call into a function
named AdjustScrollbars, which can be called initially and also
from a wxSizeEvent event handler function.
wxWidgets team. wx 2.1.1 wxScrollBar(3)