Vytvoření skriptu události |
Top Previous Next |
Pokud událost ještě neexistuje nebo chcete začít editovat již existující událost poklepejte na místo v Property editoru vedle místa názvu události kterou si přejete editovat nebo vytvořit. Designer přepne na záložku "Kód". U neexistující události se ve skriptu vytvoří záhlaví události (procedure) s příslušným názvem události a sekcí begin - end. Kurzor se nastaví na další řádek následující za begin Pokud událost již ve skriptu existuje designer ji vyhledá a opět nastaví kurzor na první řádek za begin
Při vytváření nové události můžete poklepat na prázdné místo v property editoru, pak se vygeneruje "default" pojmenování události např. List1A10OnEnter pokud poklepete na buňku A10 a událost OnEnter na Listu1, pokud přepokládáte že budete přiřazovat stejnou událost více buňkám je vhodné nejprve událost v property editoru pojmenovat a potom nechat vygenerovat tělo události poklepem na takto vytvořený název.
Pro přiřazení jedné události více buňkám postupujeme tak, že událost vytvoříme pro jednu buňku, poté vybereme oblast buněk kterým chceme přiřadit stejnou událost a v property editoru pomocí rozbalovacího seznamu (combobox) vybereme-přiřadíme již existující událost ostatním buňkám
Odstranit událost lze smazáním názvu události v property editoru, tím docílíte toho, že pro danou buňku nebo výběr buněk se událost nebude vykonávat, ale takto smazaná událost je nesmaže ze skriptu, pokud již danou událost nebude potřeba pro žádnou buňku, lze patřičný kód události smazat.
Pokud jste nějakou událost ve skriptu napsali 'z ruky', tedy bez použití property editoru je nutné název takové události do property editoru zadat ručně. Uděláte to tak, že název příslušné procedury zkopírujete (napíšete) k události v property editoru u které chcete, aby byla vyvolána. Nezapomeňte že parametry procedury musí odpovídat parametrům události pro kterou ji chcete vyvolat. Proto je vždy výhodnější napsat název události (pokud nechcete použít 'default' název) do property editoru a poklepáním nechat vygenerovat tělo a parametry property editor)
Vytvoření skriptu události pro komponentu reportu pro vytvoření události komponent zatím neexistuje vizuální nástroj a je třeba takovou událost vytvořit ručně. Vytvoření takové události se skládá ze dvou kroků
(jak bude ukázáno dále lze události přiřadit i u dynamicky vytvářeného obsahu, potom není třeba událost OnPrepareSkript používat, viz. Jednoduchý horizontální drill)
Příklad
do buňky J10 vložíme komponentu TButton a vytvoříme skript události OnClick tohoto tlačítka:
1. vlastní událost komponenty
procedure ButtonOnClick( Sender : TObject ); begin OkBox('Click'); end;
2. přiřazení události komponentě v události OnPrepareSkript
procedure OnPrepareScript(Sender : TReportProperty); begin If Sheet.GetCellProperty('J10').CellComponent<>nil then TButton(Sheet.GetCellProperty('J10').CellComponent).OnClick:=@ButtonOnClick; end;
po stisku tlačítka na buňce J10 se objeví MessageBox s textem Click
Podobně postupujeme i u ostatních komponent reportu a jejich událostí |