Funkcia %HI_PopUpMenu_AddItem


Funkcia
Funkcia %HI_PopUpMenu_AddItem pridá položku do popup menu (riadiaca funkcia).
Deklarácia
%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]
 )

Parametre
type Typ položky. Možné hodnoty:
  • 0 - normálna položka v menu
  • 1 - vnorené PopUp menu
  • 2 - menu separátor
text Text pridávanej položky.
itemId Jednoznačný identifikátor.
parentId Jednoznačný identifikátor existujúcej položky v nadradené menu.
bEnabled @TRUE - povolenie položky.
@FALSE - zakázanie položky.
bChecked @TRUE - označenie položky.
@FALSE - neoznačenie položky.
bitmapHBJ Objekt typu Bitová mapa.
bitmapCheckedHBJ Objekt typu Bitová mapa.

Popis
Funkcia pridá položku do popup menu. Je nutné ju volať (podľa potreby aj opakovane) po volaní funkcie %HI_PopUpMenu_Create.



Parameter type definuje typ vkladanej položky. Každá vložená položka (okrem typu separator) musí mať v rámci definovaného menu (ktoré tvorí súhrn všetkých definovaných popup menu) jednoznačný číselný identifikátor (parameter id). V prípade, že položka je vo vnorenom popup menu (napríklad položka "Text 1.1"), parameter parentId obsahuje id položky v nadradenom popup menu:
 
 ; definícia položky "Text 2"
 %HI_PopUpMenu_AddItem(1, "Text 2", 2, 0, @TRUE, @FALSE, 0, 0)

   ; definícia položky "Text 2.1"
   %HI_PopUpMenu_AddItem(0, "Text 2.1", 21, 2, @TRUE, @FALSE, 0, 0) 

 
Parameter bEnabled povolí (hodnota @TRUE), alebo zakáže (hodnota @FALSE) položku. V príklade "Text 2.2.2".
Parameter bChecked označí (hodnota @TRUE) položku. V príklade "Text 2.2.1".
Parametre bitmapHBJ a bitmapCheckedHBJ sú odkazy na objekty typu Bitová mapa, ktoré budú použité (ak sú zadané) v prípade, že položka je v stave označená (checked), alebo neoznačená.

Položky definované funkciou %HI_PopUpMenu_AddItem nemusia byť usporiadané v tvare popup menu, budú usporiadané automaticky pred zobrazením menu.

Obmedzenia:
  • maximálny počet položiek v menu - 200,
  • ak sa položka odkazuje na neexistujúceho rodiča, bude zaradená do hlavného menu,
  • ak rodič položky nie je vnorené popup menu, bude položka zaradená do hlavného menu,
  • ak je rodič položky tá istá položka (odkazuje sama na seba), bude zaradená do hlavného menu,
  • v prípade výskytu viacerých položiek s rovnakým parametrom id, bude rodič prvá dodaná položka,
  • poradie položiek v hlavnom i vnorených menu je dané príchodom ich definícií - definície môžu byť prekladané inými položkami,
  • zacyklené odkazy budú vyradené z menu (vrátane vnorených menu) a zobrazí sa chybová správa.

Príklad
Nasledujúci príklad popisuje skript, ktorý vytvorí a zobrazí popup menu zobrazené na obrázku vyššie.

 
 ; vytvorenie prázdneho 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)
 
 ; zobrazenie popup menu
 %HI_PopUpMenu_Show() 

Napíšte komentár