Futurebasic/Language/Reference/scroll button
SCROLL BUTTON
[edit | edit source]Syntax
[edit | edit source]SCROLL BUTTON [#]idExpr ¬
[,[current][,[min][,[max][,[page][,[rect][,type]]]]]]
Description
[edit | edit source]The SCROLL BUTTON
statement puts a new scrollbar in the current output window, or alters an existing scrollbar's characteristics. The parameters are interpreted as follows:
"Image was here"
To Create a New Scrollbar
[edit | edit source]- Choose an
idExpr
value such thatABS(idExpr)
is different from the ID's of all existing buttons and scrollbars in the window. If you use a negativeidExpr
, and the window contains a multistyled non-static edit field whose ID number isABS(idExpr)
, then the actions of the scrollbar are linked to the edit field (explained below). - Choose initial values for current, min, max and page. All of these parameters are optional; any of them that you omit will have the following default initial values:
current
= 0min
= 0max
= 255page
= 16
- If creating a
_scrollOther
scrollbar, specify therect
parameter. This parameter is optional if you're creating a_scrollVert
or_scrollHorz
scrollbar. - Specify the type. This parameter is optional; its default value is
_scrollOther
.
To Alter an Existing Scrollbar
[edit | edit source]- Set
idExpr
to the ID number of an existing scrollbar in the window. - If you want to change any of the current, min, max or page values, specify the corresponding parameters. Any of these that you omit won't have their values changed.
- If you want to change the rectangle of a
_scrollOther
scrollbar, specify the new rectangle in the rect parameter. If you omit this parameter, the rectangle won't change. NOTE: the rect parameter is ignored when you're altering a_scrollVert
or_scrollHorz
scrollbar. - You can't alter the type of an existing scrollbar. This parameter is ignored if the scrollbar already exists.
To Activate or De-activate a Scrollbar
[edit | edit source]You can use the BUTTON
statement to activate (highlight) or de-activate (dim) an existing scrollbar.
- To activate it, use:
BUTTON scrollbarID, _activeBtn
- To de-activate it, use:
BUTTON scrollbarID, _grayBtn
Linking a Scrollbar's Action to an Edit Field
[edit | edit source]If you specify a negative idExpr
value when creating a new scrollbar, FB looks for a multisyled edit field (which can be static) whose ID number equals ABS(idExpr)
in the current window. If such a field is found, the behavior of the scrollbar and the edit field become linked, as follows:
- When the user (or your program) moves the scrollbar thumb, the text in the edit field scrolls vertically;
- When the user (or your program) alters the text in the field, or drags through it vertically, the scrollbar thumb moves correspondingly.
When linking a scrollbar to an edit field, it's recommended that you use a vertical scrollbar. A horizontal scrollbar will not scroll the text horizontally, and its action is likely to look strange to the user.
You can't alter the current
, min
nor max
parameters of a scrollbar that's linked to an edit field. These values are automatically altered dynamically as the content and position of the text in the field changes. Also, you can't use the BUTTON
statement to activate nor de-activate this kind of scrollbar; the scrollbar is active when the edit field contains more lines than will fit in the view rectangle, and is inactive otherwise.
Note: To link a scrollbar to an edit field, you must create the edit field first, and the scrollbar second.
Note: You can only link a scrollbar to a multistyled edit field (a field which was created using a negative idExpr
value).
Using the Scrollbar
[edit | edit source]To make the scrollbar usable, your program must call HANDLEEVENTS
periodically. Among other things, HANDLEEVENTS
tracks the motion and clicking of the mouse in the scrollbar, and moves the thumb in response to these user actions. Your program can also move the thumb explicitly by setting the current
parameter in the SCROLL BUTTON
statement.
Whenever the user moves the thumb, a dialog event of type _btnClick
is generated. The "id" value for this event equals the scrollbar's ID. You can determine the thumb's current position using the BUTTON
function:
thumbPosition = BUTTON(scrollBarID)
Note
[edit | edit source]To remove a scrollbar, use the BUTTON CLOSE
statement:
BUTTON CLOSE scrollBarID
To find out information about a scrollbar, use the BUTTON&
function to get the scrollbar's control record.
See Also
[edit | edit source]BUTTON& BUTTON function; BUTTON statement; EDIT FIELD; DIALOG function