BBjPopupMenu::insertMenuItem

Description

In BBj 3.0 and higher, this method inserts a menu item into a BBjPopupMenu.

Syntax

Return Value

Method

BBjMenuItem

insertMenuItem(int index, int ID, string title)

BBjMenuItem

insertMenuItem(int index, int ID, string title, int action)

BBjMenuItem

insertMenuItem(int index, int ID, string title, boolean checkable, boolean checked)

BBjMenuItem

insertMenuItem(int index, int ID, string title, boolean checkable, boolean checked, int action)

Parameters

Variable

Description

index

Specifies the 0-based index at which to insert the menu.

ID

Specifies the ID of the menu that will be added.

title

Specifies the title of the menu.

action

Specifies one of the following constants:

32027   CUT

32028   COPY

32029   PASTE

checkable

Specifies whether the menu item is checkable.

0 = Not checkable

1 = Checkable

checked

Specifies whether the menu item is checked if it is checkable.

0 = Not checked

1 = Checked

Return Value

Returns the created BBjMenuItem object that was inserted into the menu.

Remarks

Each submenu in the menu item with an index greater or equal to the specified index is shifted upward to have an index one greater than the value it had previously.

Example

rem 'Insert a menu item to a popup menu

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 = 100
Y = 100
WIDTH = 200
HEIGHT = 100
TITLE$="BBj Window"

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

rem 'Create a window with a title in the current context
myWindow! = mySysGui!.addWindow(X,Y,WIDTH,HEIGHT,TITLE$)

rem 'Create an edit box
oneEditBox! = myWindow!.addEditBox(101,10,10,180,30,"first text control")

rem 'Add a popup menu to the button
myPopupMenu! = oneEditBox!.addPopupMenu()

rem 'Add menu items to the popup menu
myItem1! = myPopupMenu!.addMenuItem(-201,"Item 1")
myItem2! = myPopupMenu!.addMenuItem(-202,"Item 2")
myItem3! = myPopupMenu!.addMenuItem(-203,"Item 3",1,0)
myItem4! = myPopupMenu!.addMenuItem(-204,"Item 4",1,1)
myItem5! = myPopupMenu!.insertMenuItem(2,-205,"Item 5")
myPopupMenu!.insertMenuItem(5,-mySysGui!.CUT,"Cu&t")
myPopupMenu!.insertMenuItem(6,-mySysGui!.COPY,"&Copy")
myPopupMenu!.insertMenuItem(7,-mySysGui!.PASTE,"&Paste")

rem 'Create another edit box
twoEditBox! = myWindow!.addEditBox(102,10,50,180,30,"second text control")

rem 'Add a popup menu to the control
myPopupMenu2! = twoEditBox!.addPopupMenu()

rem 'Add menu items to the popup menu
myPopupMenu2!.insertMenuItem(0,-mySysGui!.CUT,"Cu&t")
myPopupMenu2!.insertMenuItem(1,-mySysGui!.COPY,"&Copy")
myPopupMenu2!.insertMenuItem(2,-mySysGui!.PASTE,"&Paste")

rem 'Register the CALLBACK routines
CALLBACK(ON_POPUP_ITEM_SELECT,Item1,myPopupMenu!.getID(),myItem1!.getID())
CALLBACK(ON_POPUP_ITEM_SELECT,Item2,myPopupMenu!.getID(),myItem2!.getID())
CALLBACK(ON_POPUP_ITEM_SELECT,Item3,myPopupMenu!.getID(),myItem3!.getID())
CALLBACK(ON_POPUP_ITEM_SELECT,Item4,myPopupMenu!.getID(),myItem4!.getID())
CALLBACK(ON_CLOSE,APP_CLOSE,mySysGui!.getContext())

rem 'Process Events
process_events

rem 'Callback routine invoked when the user selects the first item
Item1:
    i = msgbox("Item 1 was selected")
return

rem 'Callback routine invoked when the user selects the second item
Item2:
    i = msgbox("Item 2 was selected")
return

rem 'Callback routine invoked when the user selects the third item
Item3:
    if myItem3!.isSelected() then state$="ON" else state$="OFF"
    i = msgbox("Item 3 was selected and is now checked "+state$)
return

rem 'Callback routine invoked when the user selects the fourth item
Item4:
    if myItem4!.isSelected() then state$="ON" else state$="OFF"
    i = msgbox("Item 4 was selected and is now checked "+state$)
return

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

See Also

BBjAPI

BBjSysGui

BBjControl

BBjPopupMenu

BBjMenu

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