BBjWindow::addListButton

Description

Creates a list button control in the BBjWindow.

Syntax

Return Value

Method

BBjListButton

addListButton(int ID, int x, int y, int width, int height, string initialContents)

BBjListButton

addListButton(int ID, int x, int y, int width, int height, 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 he list.

flags

Control flags, as follows:

 

Flag 

$0000$

$0001$

$0010$

$0800$

$1000$ 

$4000$

$8000$

Description

Left justifies list items (default).

Sets the control to be initially disabled.

Sets the control to be initially invisible.

Draws a recessed client edge around the control.

Draws a raised edge around the control.

Centers list items (BBj 17.0 and higher).

Right justifies list items (BBj 17.0 and higher).

Return Value

Returns the created BBjListButton 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. Unlike the list edit control, it does not allow a value to be entered manually. As the user types, the first matching selection in the list is placed in the edit area. Various keys may be used to navigate in the list including the Home (first selection), End (last selection), Page Up and Page Down, and the arrow keys.

Example

REM Add a list button 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 button control to the window
myListButton! = myWindow!.addListButton(101,50,100,90,60,"",$0000$)

REM Add items into the list button
FOR I=1 TO 4
      ITEM$="ITEM " + STR(I)
      myListButton!.addItem(ITEM$)
NEXT I

REM Register the CALLBACK routines
CALLBACK(ON_LIST_SELECT,LIST_ITEM_SELECTED,mySysGui!.getContext(),myListButton!.getID())
CALLBACK(ON_CLOSE,APP_CLOSE,mySysGui!.getContext())

REM Process Events
PROCESS_EVENTS

REM Callback routine called when the user selects an item in the list button
LIST_ITEM_SELECTED:
REM Display a message with the select list button item
MESSAGE$="The item selected is: " + STR(myListButton!.getItemAt(myListButton!.getSelectedIndex()))
LET X=MSGBOX(MESSAGE$)
RETURN

REM Callback routine called when the user closes the application window
APP_CLOSE:
RELEASE
RETURN

See Also

BBjAPI

BBjSysGui

BBjControl

BBjWindow

'LISTBUTTON' Mnemonic

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



______________________________________________________________________________________

Copyright BASIS International Ltd. BBj®, Visual PRO/5®, PRO/5®, and BBx® are registered trademarks.