BBjWindow::addHorizontalScrollBar

Description

Creates a horizontal scroll bar control in the BBjWindow.

Note: The BBjScrollBar is a standalone BBjControl that should not be confused with scroll bars that can be created with optional flags on windows, child windows, or edit-type controls.

To enable scrolling behavior in a window, horizontal or vertical scrollbars must be enabled and tracking must be turned off. Use the window creation flags $00000004$ (horizontal scrolling) or $00000008$ (vertical scrolling), and set tracking to 0 with window creation flag $80000000$, BBjWindow::setTrack, or the TRACK Mnemonic - Toggle Tracking On/Off (SYSGUI).

Syntax

Return Value

Method

BBjScrollBar

addHorizontalScrollBar(int ID, number x, number y, number w, number h)

BBjScrollBar

addHorizontalScrollBar(int ID, number x, number y, number w, number h, string flags)

BBjScrollBar addHorizontalScrollBar(int ID)
BBjScrollBar addHorizontalScrollBar(int ID, string flags)
BBjScrollBar addHorizontalScrollBar()

BBjScrollBar

addHorizontalScrollBar(string flags)

Parameters

Variable

Description

ID

Control ID number. It must be an integer between 1 and 32767 and be unique within a given top-level window.

x

Horizontal position of the upper-left corner of the control in current units.

y

Vertical position of the upper-left corner of the control in current units.

width

Width of the control in current units.

height

Height of the control in current units.

flags

Control flags, as follows:

Flag Description
$0001$ Sets the control to be initially disabled.
$0010$ Sets the control to be initially invisible.
$0800$ Draws a recessed client edge around the control.
$1000$ Draws a raised edge around the control.

Return Value

Returns the created horizontal BBjScrollBar object.

Remarks

If the ID parameter is not specified, a control ID is assigned dynamically using getAvailableControlID().

If the x, y, width, and height parameters are not specified, they are all initialized to 0. This is typically for use with DWC windows that dynamically arrange their contents (window creation flag $00100000$).

Example

rem 'Add a horizontal scrollbar control to a window

rem 'Obtain the instance of the BBjAPI object
let myAPI! = BBjAPI()

rem 'Open the SysGui device
SYSGUI = UNT
OPEN (SYSGUI) "X0"

rem 'Obtain the instance of the BBjSysGui object
let mySysGui! = myAPI!.getSysGui()

rem 'Set addWindow param values
X = 10
Y = 10
WIDTH = 200
HEIGHT = 200
TITLE$="BBj Window"

rem 'Set the current context
mySysGui!.setContext(0)

rem 'Create a window
myWindow! = mySysGui!.addWindow(X,Y,WIDTH,HEIGHT,TITLE$)

rem 'Add a horizontal scrollbar on the window
myHScrollBar! = myWindow!.addHorizontalScrollBar(101,0,180,200,20,$0000$)

rem 'Register the CALLBACK routines
CALLBACK(ON_CONTROL_SCROLL,SCROLLBAR_SCROLLED,mySysGui!.getContext(),myHScrollBar!.getID())
CALLBACK(ON_CLOSE,APP_CLOSE,mySysGui!.getContext())

rem 'Process Events
process_events

rem 'Callback routine called when the scrollbar is used to scroll
SCROLLBAR_SCROLLED:
    rem 'Display a message that the scrollbar has been used to scroll
    MESSAGE$="The scrollbar has been used to scroll"
    let X = MSGBOX(MESSAGE$)
return

rem 'Callback routine called when the user closes the application window
APP_CLOSE:
release

See Also

BBjAPI

BBjSysGui

BBjControl

BBjWindow

'HSCROLL' Mnemonic

See the BBj Object Diagram for an illustration of the relationship between BBj Objects.