BBjWindow::addListBox

Description

Creates a list box control in the BBjWindow.

Syntax

Return Value

Method

BBjListBox

addListBox(int ID, number x, number y, number w, number h, string initialContents)

BBjListBox

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

BBjListBox

addListBox(int ID, string initialContents)

BBjListBox

addListBox(int ID, string initialContents, string flags)

BBjListBox

addListBox(string initialContents)

BBjListBox

addListBox(string initialContents, 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.

initialContents

Line feed separated strings containing the initial contents of the list.

flags

Control flags, as follows:

Flag Description
$0001$ Sets the control to be initially disabled.
$0004$ Never show a horizontal scrollbar (BBj 16.00 and higher).
$0008$ Never show a vertical scrollbar (BBj 16.00 and higher).
$0010$ Sets the control to be initially invisible.
$0020$ Designates the control to be part of a keyboard navigation group.
$0400$ Permits the control to accept multiple selections.
$0800$ Draws a recessed client edge around the control.
$1000$ Draws a raised edge around the control.
$2000$ Left justifies list items (BBj 17.00 and higher).
$4000$ Centers list items (BBj 17.00 and higher).
$8000$ Right justifies list items (BBj 17.00 and higher).

Return Value

Returns the created BBjListBox object.

Remarks

The list of choices available may be modified only under program control. The values in the list may be accessed using a zero-based list index integer. Multiple selections may be made if the multiple-selection flag is set. To select a range of choices, the user selects the first item and holds the Shift key while selecting the last item in the range.

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're 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 list box 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 list box control to the window
myListBox! = myWindow!.addListBox(101,50,100,90,60,"",$0000$)

rem 'Add items into the list box
FOR I = 1 TO 4
    ITEM$="ITEM " + STR(I)
    myListBox!.addItem(ITEM$)
NEXT I

rem 'Register the CALLBACK routines
CALLBACK(ON_LIST_DOUBLE_CLICK,LIST_DOUBLE_CLICKED,mySysGui!.getContext(),myListBox!.getID())
CALLBACK(ON_CLOSE,APP_CLOSE,mySysGui!.getContext())

rem 'Process Events
process_events

rem 'Callback routine called when the user double clicks on an item in the list box
LIST_DOUBLE_CLICKED:
    rem 'Display a message with the select list box item
    MESSAGE$="The item selected is: " + STR(myListBox!.getItemAt(myListBox!.getSelectedIndex()))
    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

`LISTBOX' Mnemonic

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