BBjMenuItem

Description

The BBjMenuItem object provides methods for manipulating a GUI menu item control.

Creation

BBjAPI > BBjSysGui > BBjWindow > BBjMenuBar > BBjMenu > BBjMenuItem

A BBjMenuItem object is created through the following BBjMenu methods:

Return Value

Method

BBjMenuItem

addMenuItem(int ID, string title)

BBjMenuItem

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

BBjMenuItem

insertMenuItem(int index, int ID, string title)

BBjMenuItem

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

Note:

If the "checkable" boolean parameter is true, addMenuItem and insertMenuItem will return a BBjCheckableMenuItem.

Methods of BBjMenuItem

Return Value

Method

void

clearImageSize()

void

getImageHeight()

void

getImageWidth()

BBjMenu

getParentMenu()

BBjPopupMenu

getParentPopupMenu()

void

setAccelerator(string accel)

void

setImage(BBjImage image)

void

setImageSize(int width, int height)

Methods of BBjMenuItem inherited from BBjControl

Events

Callback Code

Object-oriented Event

Read Record Event

Code

ON_MENU_ITEM_SELECT

BBjMenuItemSelectEvent

Menu Selection

C

Remarks

All ID values should be negative. If they are not given as negative, they will be changed to negative 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. It can be added to a BBjMenu. The BBjMenuItem can be checkable. In this case a checkbox will appear next to the menu item's title, and the object returned when the BBjMenuItem is added will be a BBjCheckableMenuItem. 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

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 BBjMenuItem defines the following style names:

.BBjMenuItem

.BBjMenuItem.bbj-disabled

.BBjMenuItem.bbj-selected

.BBjMenuItem-check

.BBjMenuItem-check.bbj-selected

.BBjMenuItem-image

.BBjMenuItem-image.bbj-selected

.BBjMenuItem-content

.BBjMenuItem-content.bbj-selected

.BBjMenuItem-accel

.BBjMenuItem-accel.bbj-selected

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

BBjCheckableMenuItem

SETMENU Mnemonic - Set or Replace Menu

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