%HI_PopUpMenu_AddItem function


Function
The function allows to add an item to the popup menu (Control function).
Declaration
%HI_PopUpMenu_AddItem(
   INT in type, 
   TEXT in text, 
   INT in itemId, 
   INT in parentId 
   [, BOOL in bEnabled, 
   BOOL in bChecked, 
   HBJ in bitmapHBJ, 
   HBJ in bitmapCheckedHBJ]
 ) 

Parameters
type Item type. Possible values:
  • 0 - normal item
  • 1 - Nested popup menu
  • 2 - menu separator
text Item text.
itemId Unique identifier.
parentId Unique identifier of the parent popup menu (popup menu one level above).
bEnabled Enable/disable the item.
bChecked Select/unselect the item.
bitmapHBJ Object of Bitmap type.
bitmapCheckedHBJ Object of Bitmap type.

Description
The function adds the item into the popup menu. It must be called (repeatedly if necessary) after calling the function %HI_PopUpMenu_Create.

The parameter type defines the type of the item to be inserted. For each item (except Menu separator type), there must be defined an unique identifier (the parameter id) within defined menu (that compounds of all defined popup menus). If the item is inserted into a nested popup menu (e.g. the item "Text 1.1" in the figure above), the parameter parentId contains id of the item in the parent popup menu:


 
; definition of the item "Text 2"  
%HI_PopUpMenu_AddItem(1, "Text 2", 2, 0, @TRUE, @FALSE, 0, 0) 
  ; definition of the item "Text 2.1"  
  %HI_PopUpMenu_AddItem(0, "Text 2.1", 21, 2, @TRUE, @FALSE, 0, 0) 

 

The parameter bEnabled enables (the value @TRUE), or disables (the value @FALSE) the item. In the figure above, the item "Text 2.2.2".
The parameter bChecked selects (the value @TRUE) the item. In the figure above, the item "Text 2.2.1".
The parameters bitmapHBJ and bitmapCheckedHBJ are the reference to objects of Bitmap type, that will be used (if are defined) if the item is selected (checked), or is not selected (unchecked).

In script, items defined by the function %HI_PopUpMenu_AddItem may not be organized as they will be displayed in the popup menu - they will be automatically organized before showing the menu.

Regulations:

  • maximum number of items in menu - 200
  • if item has reference to non-existing parent popup menu, it will be shown in the main menu
  • if parent popup menu is not submenu, the item will be shown in the main menu
  • if parent popup menu is the same item (reference to itself), it will be shown in the main menu
  • if there is several items with the same id, the first one of them will be parent popup menu
  • order of items in main menu and submenus is given by their order in script
  • circular references are removed from popup menu (including submenus) and there is displayed error report

Example
The script that creates and displays the popup menu shown in the figure above.
 
; create an empty popup menu
 %HI_PopUpMenu_Create(300,300)
 %HI_PopUpMenu_AddItem(0, "Text 1", 1, 0, @TRUE, @FALSE, 0, 0)
 %HI_PopUpMenu_AddItem(1, "Text 2", 2, 0, @TRUE, @FALSE, 0, Bitmapa.BMP\HBJ) 
   %HI_PopUpMenu_AddItem(0, "Text 2.1", 21, 2, @TRUE, @FALSE, 0, 0)

    %HI_PopUpMenu_AddItem(0, "Text 2.1.1", 211, 21, @TRUE, @FALSE, 0, 0)
    %HI_PopUpMenu_AddItem(0, "Text 2.1.2", 212, 21, @TRUE, @FALSE, 0, 0)
   %HI_PopUpMenu_AddItem(1, "Text 2.2", 22, 2, @TRUE, @FALSE, 0, 0) 
     %HI_PopUpMenu_AddItem(0, "Text 2.2.1", 221, 22, @TRUE, @TRUE, 0, 0)
     %HI_PopUpMenu_AddItem(0, "Text 2.2.2", 222, 22, @FALSE, @FALSE, 0, 0,)
   %HI_PopUpMenu_AddItem(0, "Text 2.3", 23, 2, @TRUE, @FALSE, 0, 0) 
 %HI_PopUpMenu_AddItem(2, "Text 3", 3, 0, @TRUE, @FALSE, 0, 0)
 %HI_PopUpMenu_AddItem(0, "Text 4", 4, 0, @TRUE, @FALSE, 0, 0) 
; show popup menu
 %HI_PopUpMenu_Show()

Napíšte komentár