BBjTabCtrl::addTab

Description

Adds a tab and associated control to the BBjTabCtrl.

Syntax

Return Value

Method

void

addTab(string title, BBjControl control!)

void

addTab(string title, int controlID)

void

addTab(string title, int imgIndex, BBjControl control!)

void

addTab(string title, int imgIndex, int controlID)

Parameters

Variable

Description

title

Specifies the tab's title.

control!

Specifies the control that will be displayed in the client area.

controlID

Specifies the ID of the control that will be displayed in the client area.

imgIndex

Specifies the index of an image in the image list assigned to the control that will be displayed on the tab. An image list is assigned to the control by calling either the setImageListPath method or the setImageListID method.

Return Value

None.

Remarks

The tab will be added to the end of the tab control.

When the owner of the parameter does not match the object on which the methods is being called, an !ERROR=208 Multi Thread results. See Accessing Objects From Different Interpreters.

Example

rem 'Add a tab control to a window

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

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

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

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

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

rem 'Add a tab control to the window
let myTabCtrl! = myWindow!.addTabCtrl(101,50,50,200,200)

PARENT_CONTEXT = mySysGui!.getContext()

NUM_OF_TABS = 4
FOR I = 1 TO NUM_OF_TABS

    rem 'Create a child window
    let myChildWindow! = myWindow!.addChildWindow(200+I,75,75,100,100,"",$$,PARENT_CONTEXT+I,$$)

    rem 'Add a static text control on the child window
    CHILD_TEXT$ = "Child Window " + STR(I)
    let myStaticText! = myChildWindow!.addStaticText(300+I,X,Y,WIDTH,HEIGHT,CHILD_TEXT$)

    rem 'Add the child window as a tab on the tab control
    TAB_TEXT$ = "Tab " + STR(I)
    myTabCtrl!.addTab(TAB_TEXT$,myChildWindow!)
NEXT I

rem 'Set the top level window visible
myWindow!.setVisible(1)

rem 'Register the CALLBACK routines
CALLBACK(ON_TAB_SELECT,TAB_SELECTED,PARENT_CONTEXT,myTabCtrl!.getID())
CALLBACK(ON_CLOSE,APP_CLOSE,0)

rem 'Process Events
process_events

rem 'Callback routine called when the user selects a tab on the tab control
TAB_SELECTED:
    rem 'Display a message that a tab was selected
    MESSAGE$ = "The user selected tab: " + STR(myTabCtrl!.getSelectedIndex() + 1)
    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

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