# Ovládání aplikace

Jedním ze základních požadavků na každou aplikaci je její jednoduché a pohodlné ovládání. V systému Control Web jsou k dispozici prostředky, které umožňují realizovat snadné ovládání aplikace jak pomocí klávesnice, tak i pomocí myši. Základní ovládání aplikace, jako je přepínání panelů, doporučujeme vytvořit pomocí "Průvodce novou aplikací".

## Reakce na klávesnici

Pro zpracování událostí od klávesnice slouží v systému Control Web virtuální přístroj keyboard. Přístroj keyboard umožňuje nadefinovat seznam událostí od klávesnice, které má vyhodnocovat. Je možné reagovat na stisk, uvolnění nebo na událost opakování definované klávesy a u speciálních kláves (<Alt>, <Ctrl>, <Shift>) lze vyhodnocovat jejich stav. Lze také definovat kombinace kláves se speciálními klávesami (např. <Ctrl>+<W>). Dojde-li k události od klávesnice, která je obsažena v seznamu, přístroj nastaví definovanou logickou hodnotu na přiřazený datový element, vyčíslí numerický výraz a jeho výsledek zapíše na přiřazený datový element a v případě, že je definována, aktivuje událostní proceduru přístroje OnOutput. Dokáže také aktivovat další virtuální přístroje uvedené u parametru receivers, které tak mohou reagovat na vzniklou událost od klávesnice.

Druhou možností, jak reagovat na události od klávesnice je periodické vyhodnocování systémové proměnné scan_code, která obsahuje tzv. "scan kód" naposled stisknuté nebo uvolněné klávesy. Tento kód je pro každou klávesu na klávesnici jedinečný. Z tohoto kódu lze tedy rozeznat nejen příslušnou klávesu, ale i to, zda byla stisknuta nebo uvolněna. Při uvolnění klávesy je totiž nastaven 7.bit na logickou jedničku a při stisknutí na nulu.

Scan kódy vybraných kláves

Obsluha událostí od klávesnice pomocí scan kódů je poněkud složitější a v systému Control Web je spíše z důvodu kompatibility se staršími verzemi. Doporučujeme vám proto při obsluze událostí od klávesnice raději využívat pokročilých vlastností přístroje keyboard.

Velice důležité je si uvědomit, že události od klávesnice budou vyhodnocovány jen tehdy, bude-li vybráno (aktivní) jakékoliv okno vaší aplikace. Události od klávesnice jsou totiž ve Windows šířeny do aktivní aplikace.

## Využití parametru tab_select při ovládání aplikace klávesnicí

Téměř každý objekt v systému Control Web má parametr tab_select, který určuje pořadí jeho selekce ve vybraném panelu. Jinými slovy stisknete-li postupně klávesu <Tab> nebo kombinaci kláves <Shift>+<Tab>, budou jednotlivé objekty ve vybraném panelu postupně vybírány v pořadí určeném hodnotou parametru tab_select.

## Aktivní obdélníky panelu

Přístroj panel umožňuje nadefinovat seznam tzv. aktivních obdélníků. Po najetí kurzoru myši na takovýto aktivní obdélník v panelu se změní tvar kurzoru myši na ruku a po stisknutí levého tlačítka na myši dojde k nastavení přiřazeného datového elementu na logickou hodnotu true a pokud jsou definovány nějaké objekty u parametru receivers, dojde k jejich aktivaci.

Panel s aktivními obdélníky

Této vlastnosti lze například využít při ovládání aplikace tehdy, pokud máte v panelu vložen obrázek například s mapou objektu a aktivní obdélníky jsou definovány na pozicích jednotlivých provozů, pak při najetí kurzoru myši nad příslušný provoz může být po stisku tlačítka na myši zobrazen detailní panel vybraného provozu.

## Shrnutí

- události od klávesnice lze vyhodnocovat a zpracovávat pomocí přístroje keyboard nebo systémové proměnné scan_code
- parametr tab_select určuje pořadí výběru objektů v panelu
- pomocí aktivních obdélníků v panelu lze reagovat na stisk tlačítka na myši