3.1.7 Vytváranie aplikačného menu
Menu poskytujú jednoduchý spôsob na to, aby užívatelia mohli spúšťať logicky zoskupené príkazy. V čase návrhu môžete položky menu pridať alebo zmazať alebo ich presunúť za účelom zoskupenia. Paleta nástrojov obsahuje komponenty MainMenu a PopupMenu pre vytváranie menu.
Vytváranie menu a položiek menu je v Delphi for PHP iné než v Delphi. Položky menu sú špecifikované v poli namiesto existencie individuálnych komponentov s vlastnosťami. Preto štruktúru menu vytvárajte použitím Items Editora, ktorý je umiestnený v Items Property komponentu MainMenu alebo PopupMenu.
Vytvorenie aplikačného menu
- Rozrolujte kategóriu Standard v palete nástrojov a pridajte komponent MainMenu alebo PopupMenu do Vášho formulára. Vizuálna reprezentácia menu sa zobrazí v Designeri. Komponent MainMenu vytvorí menu, ktoré je súčasťou riadku s titulkom príslušného formulára. Komponent PopupMenu vytvorí menu, ktoré sa zobrazí vtedy, keď užívateľ klikne pravým tlačítkom vo formulári.
- Kliknite na tlačítko pri Items property pre komponent v Object Inspectore. Toto tlačítko otvorí dialógové okno Items Editor, v ktorom môžete definovať položky menu.
- Zadajte textový reťazec pre položku menu do políčka Text (napr. File).
- Zadajte jedinečné celočíselné ID do políčka Tag pre položku menu.
- Kliknite na tlačítko New Item na pridanie novej položky menu do tej istej úrovne ako označená položka. Na pridanie položky submenu kliknite na tlačítko New SubItem. Táto položka bude pridaná ako dieťa označenej položky. Na vytvorenie separátora medzi jednotlivými položkami umiestnite kurzor do menu tam, kde chcete separátor vložiť a zadajte znamienko spojovník (–) do políčka Text.
- Kliknite na tlačítko OK, keď ste skončili s návrhom štruktúry menu.
Na návrh štruktúry menu v Items Editore potrebujete položky pridávať sekvenčne do každej úrovne. Nemôžete vložiť položku menu, ani ju presúvať hore alebo dolu v zozname. Na zmenu vloženej položky alebo zmeny štruktúry, zmažte nutné položky až po požadované miesto.
Zobrazenie obrázka pri položke menu
- Pridajte obrázok do adresára s Vašim projektom.
- Rozrolujte Advanced category v Palete nástrojov, označte komponent ImageList a preneste ho do formulára.
- Vyberte vlastnosť Images v Object Inspectore a kliknite na vedľajšie tlačítko, ktoré otvorí ImageList Editor. Tu môžete vidieť zoznam požadovaných obrázkov a priradiť im identifikátor.
- Vložte jedinečný celočíselný identifikátor pre prvý obrázok v stĺpci Key/ID.
- Vložte názov obrázku v stĺpci Filename. Tiež môžete kliknúť na tlačítko Load a prehliadať obrázky. Keď vyberiete súbor týmto spôsobom, meno súboru bude vložené do stĺpca Filename. Obrázok sa zobrazí v pravej časti dialógového okna.
- Na vytvorenie nového riadku a na pridanie iného obrázka kliknite na tlačítko Add.
- Pridajte ostatné obrázky a kliknite na OK.
- Znovu označte komponent menu a otvorte Items Editor pre vlastnosť Items.
- Vložte korešpondujúce číslo Key/ID obrázku v poli Image Index pre každú položku menu a potom kliknite na OK. Teraz bude pri položke menu zobrazený obrázok.
Vytvorenie ovládača udalosti pre položku menu
- Na formulári označte komponent MainMenu alebo PopupMenu.
- Vykonajte jednu aktivitu z nasledovných:
- Dvakrát kliknite na udalosť na záložke Events v Object inspectore, ak vytvárate serverovú udalosť.
- Dvakrát kliknite na udalosť na záložke Javascript, ak vytvárate klientsku udalosť. Vygeneruje sa kostra kódu pre udalosť v zdrojovom kóde. Napr., ak ste dvakrát klikli na udalosť OnClick, vygenerovaný kód by mohol vyzerať takto:
function MainMenu1Click($sender, $params)
{
}
- Dvakrát kliknite na udalosť na záložke Events v Object inspectore, ak vytvárate serverovú udalosť.
- IDE prepnuté do Code Editora s kurzorom vo vnútri zátvoriek udalosti je pripravené na vytvorenie ovládača udalosti.
- Napíšte vetvenie if vo vnútri ovládača udalosti na špecifikovanie toho, ktorá akcia sa má vykonať na každej položke menu.
Keďže položky menu sú polia v komponente MainMenu alebo PopupMenu, nemôžu sa vyskytovať ako individuálne komponenty s vlastnosťami a udalosťami. Preto musíte pre ne špecifikovať udalosti vo vetvení if vo funkcii MainMenu alebo PopupMenu
class Unit11 extends Page
{
public $ImageList1 = null;
public $MainMenu1 = null;
function MainMenu1Click($sender, $params)
{
class Unit11 extends Page
{
public $MainMenu1 = null;
function MainMenu1Click($sender, $params)
{
if ($params['tag']==10)
{
//Call here your function
performOpen();
}
if ($params['tag']==20)
{
//Call here your function
performSave();
}
}
}
}
}
Užívateľská príručka v anglickom jazyku.