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
RETURN

See Also

BBjAPI

BBjSysGui

BBjControl

BBjWindow

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.