Užitečné komponenty pro Delphi a C++ Builder, díl 23.

Dnes si představíme dvě komponenty, které umožňují velmi snadnou práci s ikonou aplikace na hlavním panelu vedle hodin. Tato ikonka, která obvykle zastupuje programy, jež neustále běží na pozadí (například antivir), může velmi snadno urychlit přístup k některým funkcím vaší aplikace a zároveň podávat užitečné informace.

Trayicons

Již podle názvu možná poznáváte, že se jedná vlastně o komponenty dvě. První se jmenuje CoolTrayIcon, druhá má název TextTrayIcon a každá může nabídnout malinko rozličné funkce. Nejprve tedy komponenta CoolTrayIcon.

Tato komponenta (nyní již ve verzi 4.0.2) nabízí kromě celkem obvyklých funkcí, které podobné komponenty mají, ještě několik drobných vylepšení navíc. Ukažme si tedy jako vždy některé základní vlastnosti a metody:

  • Icon: Tato vlastnost určuje ikonu, která se v hlavním panelu zobrazí. Má velikost 16x16 bodů a může mít 256 barev (podle verze systému, tedy konkrétně pod NT a 9x se zobrazí jen 16 barev). Pokud použijete soubor .ico, který obsahuje více ikon, komponenta si vybere tu první, a pokud nebude mít patřičné rozměry, sama je upraví. To bych ale nedoporučoval, protože výsledek pak nevypadá dobře. Lepší je, když si připravíte ikonu na míru.
  • IconVisible: Logická proměnná, která určuje, zda se ikona zobrazí či nikoliv.
  • Hint: Text, který se zobrazí jako bublinková nápověda po najetí myší na ikonku.
  • ShowHint: Myslím, že není třeba vysvětlovat – buď se nápověda zobrazí nebo ne.
  • PopupMenu: Zde si můžete nadefinovat menu, které se zobrazí při kliknutí na ikonu.
  • LeftPopup: Tímto parametrem určíte, zda chcete menu zobrazit jen "klasicky" přes pravé tlačítko a nebo také běžným kliknutím levým tlačítkem.
  • Enabled: Opět celkem běžný parametr snad všech komponent. Deaktivování ikonky se může hodit například při provádění nějaké funkce, jejíž průběh by mohlo narušit její opětovné vyvolání přes popupmenu.
  • IconList: Jedná se o běžný ImageList, který obsahuje množinu ikon, jež se poté dají použít k animaci (viz další parametry komponenty dále).
  • IconIndex: Právě "aktivní" (zobrazená) ikona při animaci.
  • CycleIcons: Tímto parametrem určíme, zda se má ikonka animovat (s využitím IconListu).
  • CycleInterval: Časový interval v milisekundách mezi změnou jednotlivých ikon.
  • DesignPreview: Pokud se chcete o výsledku svého snažení přesvědčit už v době návrhu, aktivujte tuto volbu.
  • MinimizeToTray: Tento parametr určuje, zda bude vaše aplikace při minimalizaci zmenšena "do ikony".
  • Refresh: Metoda, která překreslí ikonu. Vlastně by neměla být potřeba, ale někdy se může vyskytnout situace, kdy budete chtít ikonku sami "ručně" překreslit.
  • ShowBaloonHint: Zobrazí onen známý (a někdy pěkně otravný) "balónový hint" z Windows XP. Tato možnost nebude fungovat u starších systémů NT a 9x, měla by však být funkční pod ME/2000 a pochopitelně XP. Bohužel recenzi píši právě na systému NT, takže funkčnost prostě nemohu ověřit. Tento hint může mít vlastní titulek dlouhý až 64 znaků a samotný text nápovědy pak může mít až 255 znaků. Zobrazí se na 10-60 sekund, nebo dokud není deaktivován uživatelem či programově. Tolik slova autora, funkčnost si musíte ověřit sami.
  • HideBaloonHint: Touto metodou právě můžete programově "balónek" skrýt.
  • GetClientIconPos: Velmi zajímavá funkce, která vrací souřadnice, na nichž se nachází myš "uvnitř" ikony. Můžete tím pádem vytvořit několik různých událostí kliknutí myši v závislosti na tom, na kterou část ikony uživatel kliknul.
Vidíte, že funkcí a různých zajímavých vlastností je celá řada, takže se vám tato komponenta bude jistě hodit.

A nyní se pojďme ještě podívat na sesterskou komponentu – TextTrayIcon ve verzi 1.2.0.

Již z názvu je patrné, že půjde o nějaký text. A máte pravdu. Tato komponenta vám umožní zobrazit místo ikonek přímo dynamicky se měnící text nebo číselné hodnoty, vše dle vaší volby. Podívejme se na některé základní vlastnosti. Komponenta je odvozena z CoolTrayIcon, takže velká část vlastností je stejná. Ty nadstandardní, které právě souvisí s textem, si teď ukážeme:

  • Text: Celkem logicky je to parametr, který obsahuje text, zobrazovaný v ikoně. Je vycentrován horizontálně i vertikálně.
  • Font: Druh písma textu.
  • Color: Barva pozadí ikony.
  • Border: Tímto parametrem se dá zajistit, aby kolem ikony byl nakreslen rámeček 1 pixel silný v barvě, kterou určuje následující parametr.
  • BorderColor: Barva rámečku kolem ikony.
  • BackgroundIcon: Tímto parametrem můžete též určit ikonu na pozadí textu.
  • Options: Tato položka obsahuje parametry OffsetX, OffsetY a LineDistance, které vám umožní rolovat delší text, protože na malou plochu ikonky se stěží vejdou dvě písmena. Pomocí těchto parametrů ale můžete docílit plynulého rolování textu na všechny strany.

A to je vlastně všechno. Kombinací těchto dvou komponent můžete docílit v podstatě libovolného vizuálního efektu, který známe z ostatních aplikací, a animací, nebo se skrolováním textu v ikoně na hlavním panelu můžete opravdu slušně vyřádit. Vždy ale dbejte na to, aby zobrazované informace byly především zase jen informace. Blikající očička nebo jiné drobnůstky jsou sice na moment zábavné, ale uživatelé příliš nemají rádi velký počet ikon na hlavním panelu. Proto když už tam nějaká ikonka je, měla by mít alespoň svou funkci nebo zobrazovat užitečné informace.

Tyto dvě ikony jsou opět dodávány se zdrojovým kódem, instalace je jednoduchá (klasický dpk balíček) a je přiloženo i několik ukázkových aplikací. Autor Troels Jakobsen sice uvádí v helpu tuto adresu – http://www3.ewebcity.com/troels/delphi.asp – avšak v době psaní mi jaksi nefungovala, a proto přidávám přímý odkaz na stažení z našeho obvyklého zdroje.

www
verze: viz popis jednotlivých komponent
Delphi: 2-6
C++ Builder: 3-5

Váš názor Další článek: Neoficiální Mozilla 1.0

Témata článku: , , , , , , , , , , , , ,