Užitečné komponenty pro Delphi a C++ Builder, díl 97. - netradiční prostředí aplikace

Netradiční uživatelské rozhraní vaší aplikace si můžete vytvořit s dnešním balíkem komponent, který si představíme.

Saturn Components - TWinSuite

Jednu komponentu od společnosti Saturn Laboratories jsme si již kdysi představovali, když jsme si povídali o sharewarové ochraně aplikací. Na stránkách však lze najít i mnoho dalších zajímavých věcí a malý balík vizuálních komponent TWinSuite je právě jednou z nich.

Nejprve začneme už tradičně od instalace. Ta byla tentokrát poměrně problémová, i když jsem už zažil složitější záležitosti. Hlavní problém byl v tom, že komponenty jsou zřejmě určeny (resp. byly vyvíjeny) na starší verze Delphi. Kromě zdrojových kódů obsahuje balík i připravený instalační balíček, ale pouze pro Delphi3. U všech ostatních počínaje verzí 2 (popisovanou v nápovědě) až po verzi 7, na které jsem komponenty testoval, je nutné použít klasickou "ruční" instalaci. A zde nastal právě problém, neboť komponenta má nalinkovány některé knihovny z VCL, jejichž zdrojové kódy nemusí mít každý k dispozici (záleží na verzi Delphi) a navíc v Delphi7 se i drobně liší v názvech. Naštěstí nebyla úprava zdrojového kódu komponenty příliš složitá (stačilo upravit příslušný název používané knihovny), takže se nakonec přeci jen podařilo balík úspěšně nainstalovat. Na paletě se vytvořila nová záložka s celkem 16 komponentami.

Oč se tedy vlastně jedná a v čem spočívá ta slibovaná netradičnost vzhledu? Všechny komponenty z balíku jistě dobře znáte a běžně s nimi pracujete (Memo, ListBox, ListView, TreeView, StringGrid atd..), protože všechny naleznete mezi standardními komponentami z Delphi. Vylepšení či ona netradičnost spočívá v tom, že všechny komponenty jsou opatřeny (orámovány) samostatným plovoucím oknem. Ať už se jedná o ListBox, Memo nebo třeba TrackBar, všechny jsou umístěny do malého okna. Toto okno vypadá jako běžný Form, pouze mu na titulkovém pruhu chybí obvyklé ikony na zavření, minimalizaci či obnovení a rovněž nemá systémové menu. Za tento titulkový pruh je pak možné okno (a tím vlastně celou komponentu) uchopit a přesouvat po hlavním formuláři a to samozřejmě nejen v době návrhu, ale i za běhu aplikace, protože to je právě celý vtip tohoto řešení.

Plovoucí okno, jelikož se vlastně jedná o běžný formulář, můžete i libovolně zvětšovat a zmenšovat klasicky uchopením a tažením za jeho okraje. U komponent jako je třeba Memo to celkem nevadí, protože Memo automaticky vyplňuje celou plochu svého plovoucího okna. Bohužel třeba u zmiňovaného TrackBaru to příliš dobře nevypadá. Sice se také automaticky přizpůsobí velikosti okna, ale pouze v horizontálním směru (přesněji řečeno ve směru své orientace) a druhý rozměr pak vytváří jen zbytečně prázdnou plochu. Je to sice mírný nedostatek, ale zase na druhou stranu záleží tak trochu na uživateli, jak si své pracovní prostředí vylepší či naopak. Většina komponent je naštěstí toho typu, že není problém přizpůsobit oba rozměry.

Na rozdíl od obyčejného formuláře však plovoucí okno nemůžete kromě základní "integrované" komponenty použít pro umístění žádné jiné. I když si třeba v době návrhu okno zvětšíte a například u již zmiňované komponenty TrackBar si tak vytvoříte prázdné místo navíc, po umístění "cizí" komponenty se tato stane součástí hlavního formuláře. Zajímavě se chová plovoucí okno i při přesouvání po formuláři. Nevím, podle jakého klíče se řídí viditelnost jednotlivých plovoucích oken, ale faktem je to, že přesouváte-li komponentu po formuláři přes ostatní plovoucí okna, může být jednou nahoře a jednou dole (bez ohledu na pořadí umístění na formulář). Naštěstí to nemá vliv na samotný přesun, takže i když je přesouvané okno momentálně překryto jiným a není vidět jeho pohyb, přesto se přesouvá bez problému a nedojde například k "aktivaci" okna, které je nahoře. S tím vlastně souvisí poslední věc. Jistě dobře víte jaký je rozdíl mezi aktivním a neaktivním oknem. Ve Windows bývá obvykle v daném okamžiku aktivní pouze jedno okno a to je zvýrazněno jinou barvou titulkového pruhu. Zde máme vlastně velké množství samostatných oken, ale při přesouvání komponenty je aktivní stále hlavní okno aplikace a všechna plovoucí okna mají stejnou (tj. neaktivní) barvu.

Komponenty určitě nejsou vhodné pro každého, protože tento systém plovoucích oken vyžaduje jistý specifický typ aplikace. Přesto se jedná o zajímavý nápad, který určitě běžně neuvidíte.

www
verze: ?
Delphi: 2 - 7
C++ Builder: ?

Váš názor Další článek: Nové ISO obrazy Mandrake 9.2 k dispozici

Témata článku: Software, Windows, Programování, Obvyklý problém, Okno, Malý balík, Jistý směr, Komp, Komponenta, Celá knihovna, Prostředí, Díl, Ruční úprava, Netradiční prostředí, DEL, APL


Určitě si přečtěte

10 věcí, které nás štvou na Windows 10 a bohužel asi jen tak nepřestanou

10 věcí, které nás štvou na Windows 10 a bohužel asi jen tak nepřestanou

** Windows 10 je na trhu 5 let, ale pořád má velké rezervy ** Ani desátá velká aktualizace, která vyjde na podzim, je nevyřeší ** Štvou nás Windows Update, Store, Nastavení atd.

Lukáš Václavík | 147

Zahodil jsem Windows, přešel na Linux a nezbláznil se z toho

Zahodil jsem Windows, přešel na Linux a nezbláznil se z toho

** Měsíc jsem se nedotkl Windows a byl závislý jen na Linuxu ** Jaká byla pozitiva a negativa přechodu? ** Se kterými aplikacemi jsem (ne)zápasil a které bych doporučil?

Lukáš Václavík | 244

AMD Ryzen 5000 s architekturou Zen 3: počet jader zůstává, výkon rekordně roste

AMD Ryzen 5000 s architekturou Zen 3: počet jader zůstává, výkon rekordně roste

** AMD představilo novou generaci desktopových procesorů řady Ryzen 5000 ** Nová architektura Zen 3 přináší mnoho vylepšení a přibližně 19% zvýšení výkonu IPC ** Všechny modely budou v prodeji 5. listopadu

Karel Javůrek | 42


Aktuální číslo časopisu Computer

Megatest televizí do 25 000 Kč

Nejlepší herní klávesnice

Srovnání správců hesel

Jak upravit fotky pro tisk