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: Windows, Software, Programování, Netradiční prostředí, Prostředí, Malý balík, Komp, Díl, Ruční úprava, Obvyklý problém, Celá knihovna, APL, Okno, Jistý směr, Komponenta, DEL



Jak promítnout displej telefonu na počítač s Windows 10

Jak promítnout displej telefonu na počítač s Windows 10

Chcete jednoduše ukázat známým fotky z dovolené a displej vašeho telefonu vám přijde malý? Promítněte si jej na obrazovku počítače, bez nutnosti kopírování nebo připojení přes kabel.

Jan Spěšný
SmartphoneWindows 10Android
Jak rozmazat dům, aby vás sousedi nemohli šmírovat. Jde to v Mapách Google i na Mapy.cz

Jak rozmazat dům, aby vás sousedi nemohli šmírovat. Jde to v Mapách Google i na Mapy.cz

** Nelibí se vám, když cizí lidé okukují váš dům? ** Všechny mapové aplikace nabízejí možnost rozmazání snímku ** Máme návod pro Apple Maps, Bing Maps, Mapy Google a Mapy.cz

Karel Kilián
SoukromíNávodyMapy
Windows 11 běží dokonce i na nejlevnějším Raspberry Pi 4. A není to žádná katastrofa

Windows 11 běží dokonce i na nejlevnějším Raspberry Pi 4. A není to žádná katastrofa

** Vyrobil jsem si ISO obraz Windows 11 ARM ** Pomocí projektu WoR jsem ho nainstaloval na SSD ** A to pak připojil k maličkému Raspberry Pi 4 za tisícovku!

Jakub Čížek
Windows 11Raspberry Pi