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

Obyčejný StringGrid nám příliš možností na zpříjemnění práce pro uživatele nenabízí. Zadávání hodnot různého formátu je těžkopádné a pracné. V tom nám může pomoci dnešní komponenta - XStringrid.

XStringGrid

Jak jsem již naznačil, problém s běžnou komponentou StringGrid je v tom, že nenabízí příliš možností na pohodlné zadávání dat v různých formátech. Do tabulek se obvykle zadávají nejen obyčejné texty nebo číselné hodnoty, ale občas je potřeba zadat i datum nebo vybrat hodnotu z předem připraveného seznamu. Právě tohle a mnoho dalšího umí XStringGrid.

Nejprve krátce k instalaci, která byla tentokrát naprosto bezproblémová. Stačí načíst instalační balíček pro příslušnou verzi Delphi (či C++ Builderu) a nainstalovat. Poté již najdete na paletě novou záložku XStringGrid a v ní celkem 10 komponent, resp. jednu hlavní komponentu XStringGrid a řadu tzv. editorů (viz. dále).

Nejprve si tedy popíšeme vlastnosti hlavní komponenty XStringGrid. Na první pohled vypadá jako běžný StringGrid. Nalezneme zde ale mimo jiné jeden hlavní rozdíl a tím je možnost měnit barvu či typy písma jednotlivých buněk (resp. jednotlivých sloupců). Toho se dá velmi šikovně využít (podobně jako v přiložené demoaplikaci) pro funkce kontextového menu.

A teď se dostáváme k tomu hlavnímu čili ke zmiňovaným editorům. Pomocí nich je právě možné rozšířit možnosti uživatelské obsluhy StringGridu. Jedná se o jednotlivé samostatné komponenty, které ovšem pracují pouze ruku v ruce s hlavní komponentou. U hlavní komponenty XStringGrid zvolíme v Object inspectoru obvyklým způsobem položku Columns. Otevře se nám dialogové okno, ve kterém nadefinujeme jednotlivé sloupce výsledné tabulky, názvy jejich hlaviček (včetně barvy a fontu) a šířku sloupce. V druhé polovině nastavení pak určíme vlastnosti buněk v daném sloupci, tedy barvu, typ písma a zarovnání. Poslední položkou, určující vlastnosti buněk příslušného sloupce, je právě položka Editor. Zde si v rozbalovacím seznamu vybereme jeden z těch, které jsme předem umístili na formulář. Tím vlastně určíme typ dat, které budeme do daného sloupce zadávat, neboť každý z editorů je zaměřen na určitý specifický úkol. Když poté ve spuštěné aplikaci klikneme na danou buňku ve snaze vložit data, na základě typu přiřazeného editoru se nám otevře např. kalendář, zaškrtávací seznam a podobně (viz. dále).

Jaké editory tedy máme k dispozici? Již byla řeč o kalendáři, který se otevře vedle buňky a pomocí klasického kalendářového dialogu z Delphi umožňuje velmi pohodlně vložit datum. Další možností je rozbalovací seznam, tedy předem připravený ComboBox s hodnotami, z nichž si vybereme nějakou položku a ta bude vložena do buňky. Dále je zde jakýsi minieditor, kdy se u buňky zobrazí zvláštní tlačítko se dvěma tečkami (podobné jaké znáte z Object Inspectoru Delphi), po jehož poklepání se zobrazí jednoduchý dialog pro zadání textu. Má tu výhodu, že text může být předem vyplněn nějakou implicitní hodnotou a pak stačí jen klikat na buňky a text je ihned vyplněn. Další editor je klasický UpDown, tedy dvojitá šipka, sloužící k zadávání číselných hodnot pomocí těchto dvou šipek a myši. Dále je zde obdoba ComboBoxu s CheckBoxy, který umožní vybrat ze seznamu více hodnot najednou. Zajímavě vypadá i editor, který otevře malé okno s ikonami. Index zvolené ikony je pak vložen do buňky.

Jak vidíte, možností je celá řada a oproti běžnému StringGridu je práce pro uživatele pohodlnější. Možná je škoda, že nelze určovat vlastnosti (editory) pro každou jednotlivou buňku zvlášť, ale pouze vždy pro celý sloupec. To by ale situaci trošku zkomplikovalo a navíc autor zřejmě počítal s "klasickým" modelem tabulky databázového typu, kdy jsou vždy ve sloupcích hodnoty stejného typu.

www
verze: 2.6
Delphi: 3-7
C++ Builder: 3, 5

Váš názor Další článek: Apache 2.0.47 opravuje čtyři bezpečnostní chyby

Témata článku: Software, Programování, Buňka, Jednotlivé položky, Sloupec, Jednotlivá buňka, Editor, Díl, Komponenta, Běžná hodnota, Celý sloupec, Jednotlivé komponenty


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

Rekordy počasí: V Česku to ještě jde, skutečné extrémy zažívají jinde

Rekordy počasí: V Česku to ještě jde, skutečné extrémy zažívají jinde

** Teplotní extrémy dokážou překvapit. Seznamte se s rekordy v Česku i ve světě ** Rekordní hodnoty jsou mnohdy až k neuvěření ** Zjistěte, kdy ke bylo největší horko, zima, déšť či vítr

Karel Kilián | 7

WALL-E vyfotil Zemi ze vzdálenosti 1 milionů km

WALL-E vyfotil Zemi ze vzdálenosti 1 milionů km

** Malá sonda s přezdívkou WALL-E pořídila fotografii Země a Měsíce ze vzdálenosti 1 milionů km ** CubeSat letí se sondou InSight k Marsu ** InSight přistane na Marsu 26. listopadu

Petr Kubala | 4

Alan Turing: Genius, který matematicky stvořil počítač

Alan Turing: Genius, který matematicky stvořil počítač

Řešením matematického problému se dostal k modelu teoretického stroje, který nese jeho jméno a je základem logiky univerzálních počítačů.

Pavel Tronner | 56

Google ADT-2: Miniaturní krabička s Android TV 8.0, kterou si nikdy nekoupíte

Google ADT-2: Miniaturní krabička s Android TV 8.0, kterou si nikdy nekoupíte

** Dlouho se nevědělo, co to přesně má být ** Pak se s krabičkou Google pochlubil na I/O ** Do „Chromecastu“ vtěsnal celý Android TV

Jakub Čížek | 22

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

Porno insider: Jak virtuální realita vstupuje do filmů pro dospělé

** Pornografie údajně představuje třetinu internetové obsahu a je technologický tahounem ** Do erotického obsahu postupně zasahuje i virtuální realita ** Kromě vizuálního vjemu se pracuje také na virtuálním uspokojení toho hmatového

Jan Dudek | 28

Našli jsme 22 schopných internetových prohlížečů: Vyberte si, který vám nejvíc sedne

Našli jsme 22 schopných internetových prohlížečů: Vyberte si, který vám nejvíc sedne

** Není jen Chrome, Firefox, Edge či Opera. Na výběr máte mnohem více! ** Internetové prohlížeče se liší funkcemi, zaměřením i designem. Našli jsme 22 použitelných prohlížečů pro Windows ** Vyberte si prohlížeč, který vám bude nejvíce vyhovovat

Karel Kilián | 30

Blíží se Juno. Jeden z nejhezčích Linuxů pro normální lidi

Blíží se Juno. Jeden z nejhezčích Linuxů pro normální lidi

** Ubuntu a Fedora patří k nejpopulárnějším linuxovým OS pro desktop ** A pak je tu zástup dalších nebo jejich odvozenin ** Jedním z nich je Elementary OS, který se brzy dočká novinek

Jakub Čížek | 71


Aktuální číslo časopisu Computer

Kdy necháme řídit chytrá auta?

6 Wi-Fi Mesh systémů ve velkém testu

Srovnali jsme 7 sportovních kamer

Znáte pravidla pro létání s drony?