BBjMenu

Creation

BBjAPI > BBjSysGui > BBjWindow > BBjMenuBar > BBjMenu

Description

The BBjMenu object provides methods for manipulating a GUI menu control.

Creation

A BBjMenu object is created through the following BBjMenuBar methods:

Return Value

Method

BBjMenu

addMenu(int ID, string title)

BBjMenu

getMenu(int ID)

BBjMenu

getMenuAt(int index)

BBjMenu

insertMenu(int index, int ID, string title)

Methods of BBjMenu

Return Value

Method

BBjCheckableMenuItem

addCheckableMenuItem(int ID, string title)

BBjCheckableMenuItem

addCheckableMenuItem(int ID, string title, boolean checked)

BBjMenu

addMenu(int ID, string title)

BBjMenuItem

addMenuItem(int ID, string title)

addMenuItem(int ID, string title, int action)

addMenuItem(int ID, string title, boolean checkable, boolean checked)

addMenuItem(int ID, string title, boolean checkable, boolean checked, int action)

void

addSeparator()

BBjCheckableMenuItem

getCheckableMenuItem(int ID)

BBjCheckableMenuItem

getCheckableMenuItemAt(int index)

int

getChildCount()

BBjMenu

getMenu(int ID)

BBjMenu

getMenuAt(int index)

BBjMenuItem

getMenuItem(int ID)

BBjMenuItem

getMenuItemAt(int index)

int

getMenuItemIDAt(int index)

BBjMenu

getParentMenu()

BBjMenuBar

getParentMenuBar()

BBjPopupMenu

getParentPopupMenu()

BBjCheckableMenuItem

insertCheckableMenuItem(int index, int ID, string title, boolean checked)

BBjMenu

insertMenu(int index, int ID, string title)

BBjMenuItem

insertMenuItem(int index, int ID, string title)

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

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

void

insertSeparator(int index)

void

removeMenu(int ID)

void

removeMenuAt(int index)

void

removeMenuItem(BBjMenuItem item!)

removeMenuItem(int ID)

void

removeMenuItemAt(int index)

void

removeSeparator(int index)

Methods of BBjMenu inherited from BBjControl

Events

Callback Code

Object-oriented Event

Read Record Event

Code

ON_MENU_ITEM_SELECT

BBjMenuItemSelectEvent

Menu Selection

C

BUI logoCSS

The visual appearance of BUI controls is defined using CSS (cascading style sheets) rules. Easily change the default colors, border, and other settings by customizing these rules, all without changing any application code. See CSS API for a high-level overview of BUI CSS.

The BBjMenu defines the following style names:

.BBjMenu

.BBjMenu.bbj-disabled

.BBjMenu.bbj-selected

.BBjMenu-check

.BBjMenu-check.bbj-selected

.BBjMenu-image

.BBjMenu-image.bbj-selected

.BBjMenu-content

.BBjMenu-content.bbj-selected

.BBjMenu-accel

.BBjMenu-accel.bbj-selected

Remarks

All ID values should be negative. If they are not specified as negative values, they will be converted to negative values internally.

All index values are zero-based.

BBjMenuBar: The BBjMenuBar is the top-level bar that fits across the top of the window. BBjMenus are added to the menu bar. Each Top Level window can have one BBjMenuBar.

BBjMenu: A BBjMenu object is a menu that can have menu items and submenus within it. BBjMenu objects can be added to the BBjMenuBar and to other BBjMenus. When they are added to other BBjMenus, an arrow will point from the title and when the arrow is rolled-over, the submenu will appear.

BBjMenuItem: A BBjMenuItem object is a menu item that is not a submenu. They can be added to BBjMenus. The BBjMenuItem can be checkable. In this case a checkbox will appear next to the menu item's title. When the item is selected, the check will toggle.

The image below (Figure 1) illustrates the three different menu objects:

menu.png

Constants inherited from BBjControl

Example

rem 'Add a menu bar/menu/menu items 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 with a title in the current context
myWindow! = mySysGui!.addWindow(X,Y,WIDTH,HEIGHT,TITLE$)

rem 'Create the menu bar
myMenuBar! = myWindow!.addMenuBar()

rem 'Add a menu to the menu bar
myMenu! = myMenuBar!.addMenu(-100,"&First")

rem 'Add menu items to the menu
myMenu!.addMenuItem(-101,"&Sub Item 01")
myMenu!.addMenuItem(-102,"S&ub Item 02")

rem 'Add a sub menu to the menu
mySubMenu! = myMenu!.addMenu(-200,"Su&b Item 03")

rem 'Add menu items to the sub menu
mySubMenu!.addMenuItem(-201,"Sub Sub Item 04")
mySubMenu!.addMenuItem(-202,"Sub Sub Item 05")

rem 'Add a seperator the sub menu
mySubMenu!.addSeparator()
mySubMenu!.addMenuItem(-203,"Sub Sub Item 06")
mySubMenu!.addMenuItem(-204,"Sub Sub Item 07")

rem 'Register the CALLBACK routines
CALLBACK(ON_CLOSE,APP_CLOSE,mySysGui!.getContext())

rem 'Process Events
process_events

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

See Also

BBjAPI

BBjSysGui

BBjWindow

SETMENU Mnemonic - Set or Replace Menu

CALLBACK Verb - Register BBj Subroutine

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