TTreeView je ten strom vlevo (vzhled se dá upravovat) a TListView je ten seznam vpravo (včetně volitelných módů zobrazení jako ikony).



Podobné dokumenty
Důležité: Pokud jako Caption zadáme (tj. pomlčku), je položka menu změněna na oddělovač.

Objednávky OBX. Objednávkový systém určený k instalaci na PC u zákazníka pro tvorbu offline objednávek zboží

Řízení toku programu Programátor musí být schopen nějak ovlivňovat běh programu a k tomu má několik možností:

Program pro flexibilní tvorbu evidencí. VIKLAN - Evidence. Uživatelská příručka. pro seznámení se základními možnostmi programu

Implementace aritmetického stromu pomocí směrníků

Generátor list nastavení

CADKON/TZB verze

Aktualizační systém Progres

DUM 01 téma: Obecné vlastnosti tabulkového editoru, rozsah, zápis do buňky, klávesové zkratky

Automatický přenos dat z terminálů BM-Finger

8 A (strana 1) Soubory a složky, procházení, orientace

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. dubna Filip Železný (ČVUT) Vytěžování dat 9.

Implementace seznamů do prostředí DELPHI pomocí lineárního seznamu

Digitální učební materiál

KRÁTKÉ ZPRÁVY. Upozornění. Tipy a triky NEWS. Novinky verze :

Word 2007 Word 2007 egon. Spuštění, vzhled, zobrazení dokumentu

Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování

Obsah. Základy práce s databází 13. Tabulky 43. Obsah. Úvod 9 Poděkování 12

ShellTreeView Komponenta, která zobrazuje stromovou strukturu disků a složek.

PŘÍRUČKA PRO REDAKTORY UNIVERZITY PARDUBICE

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

Uživatelský manuál Radekce-Online.cz

Manuál k aplikaci SDO PILOT v.0.2

Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností programu.

Aplikované úlohy Solid Edge

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.

Základní prvky internetového prohlížeče Explorer Google Chrome Mozilla Opera

Naučte se víc... Metodická příručka pro školy k aplikaci Microsoft Office Access 2007

Uživatelská příručka Evidence příchozí a odchozí pošty a elektronický archiv. V prostředí společnosti. Pražská vodohospodářská společnost a.s.

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1

Cvičení 9 - Monitory. monitor m; var proměnné... procedure p; begin... end; begin inicializace; end;

Technologie počítačových sítí 5. cvičení

Činnost: 1) Vyhodnotí se výraz E. 2) Jeho hodnota se uloží do proměnné V.

Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií

MS ACCESS A MS WORD V KAŽDODENNÍ PRAXI

Rozdílová dokumentace k ovládání IS KARAT.net

Pokročilejší programování v MS Visual Basic 2010

MS Excel Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU

Delphi podstata, koncepce a metody MDI aplikace

Možnosti tisku v MarushkaDesignu

Office podrobný průvodce. Tomáš Šimek

Homer. prvky. délka. přední 0 zadní 4. Použití fronty BUS STOP. 3 Lisa. 2 Bart. 4 Maggie. 1 Marge. Grafické znázornění předchozí animace:

Uživatelská příručka ISKP14+ pro Integrované nástroje: Žádost o podporu strategie ITI/IPRÚ

OPERAČNÍ SYSTÉMY. Ing. Luděk Richter

NPRG030 Programování I, 2017/18 1 / :22:16

MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress

Filr 2.0 Uživatelská příručka k aplikaci Filr Web. Únor 2016

Slíbená princezna. Univerzální ComboBox

Program MediaLib. Program MediaLib slouží pro automatické skládání reklamních spotů do delších smyček.

8. Posloupnosti, vektory a matice

Kurz Databáze. Obsah. Formuláře. Práce s daty. Doc. Ing. Radim Farana, CSc.

Workmonitor. Servisní návod. 24. června 2014 w w w. p a p o u c h. c o m

5 Rekurze a zásobník. Rekurzivní volání metody

Word podrobný průvodce. Tomáš Šimek

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

7. Nástroje. 7.1 Pravopis. 7.2 Jazyk. Kapitola 7: Nástroje 47. Kontrola pravopisu

OSTRAVSKÁ UNIVERSITA V OSTRAVĚ Pedagogická fakulta Obor informační technologie ve vzdělávání Kombinované studium

X-Sign Basic Uživatelská příručka

Implementace LL(1) překladů

Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování


Textové popisky. Typ dat

Programovací jazyk Pascal


CZ.1.07/1.5.00/

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

Přidávání animací do programů

Reliance 3 design OBSAH

Cvičení 7: Delphi objekty CheckedBox, Radio- Button, EditBox

CZ.1.07/1.5.00/

Databáze pacientů. Petr Novák (Ing, Ph.D.)

Nástroj WebMaker TXV první vydání Únor 2009 změny vyhrazeny


Tabulka obsluhovaná kódem VBA

Obsah Přehled existujících a evidence nových klientů... 3 Přehled foto-záznamů... 4 Nahrávání foto-záznamů... 6 Analýza foto-záznamů...

Doplněk Parametry Plus pro Altus Vario

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.

VĚRNOSTNÍ PROGRAM (VP)

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo didaktického materiálu

5 Tabulky a seznamy dat Příklad 3 Excel 2010

FORMÁTOVÁNÍ ODSTAVCE

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Změna nastavení systému Windows

Smart PSS dohledový systém

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

10. Editor databází dotazy a relace

Příručka uživatele programu. Směnárna. smenarna.netstranky.cz. Stanislav Kačer

Rámcový manuál pro práci s programem TopoL pro Windows

Seznámení se zařízením CrossLink Plus

Anotace. Soubory a práce s nimi, rekurze podruhé, struktury (datový typ record), Martin Pergel,

Návod k aplikaci DPH Kontrol

NÁVOD K POUŽITÍ. IP kamerový systém.

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

Gilda. Po spuštění programu v základním seznamu vidíte veřejné zakázky za Váš odbor.

1. Implementace funkce počet vrcholů. Předmět: Algoritmizace praktické aplikace (3ALGA)

Students Semestrální práce z předmětu Informatika I. Dokumentace projektu. Vysoké Učení Technické v Brně

Práce s velkými sestavami

Inovace a zkvalitnění výuky prostřednictvím ICT Vytváření aplikací pro systém Windows Víceřádkové vstupy komponenta Memo

Knihovna XmlLibEx TXV druhé vydání prosinec 2013 změny vyhrazeny

Transkript:

Delphi lekce 5 TListView a TTreeView Pomalu přecházíme na složitější komponenty a na složitější příklad (uvedeme jen důležité komponenty, tj. ne všechny). Uvedené dvě komponenty jsou velmi užitečné a často používané. Typické použití je přímo v průzkumníku Windows. TTreeView je ten strom vlevo (vzhled se dá upravovat) a TListView je ten seznam vpravo (včetně volitelných módů zobrazení jako ikony). TTreeView se používá k zobrazení stromové struktury (obsah disku, vztahy nadřízený podřízený, položky a podpoložky atd.), kdežto TListView k zobrazení lineárnímu seznamu (výpis adresáře, výpis položek objednávky atd.). Jak je vidět na obrázku, často se používají v kombinaci, kdy ve stromě vybereme nadřízený objekt a v listu pak jeho položky. Obě komponenty se často spojují s TImageList (z lekce 4) pro udržování kolekce ikon (v případě TListView i ikon různých velikostí) zobrazovaných u jednotlivých položek (na obrázku např. ikona složky ve stromě). Obě komponenty mají vlastní editory položek, kde lze definovat položky, ale častěji se používá plnění daty až za běhu (např. obsahem disku) a v IDE se definují jen záhlaví sloupců (v ukázce např. Název, Velikost). Editor položek pro strom se spouští dvojklikem nebo výběrem z popmenu na komponentě. U seznamu se dá spustit editor sloupců a editor položek.

Důležité vlastnosti TListView Důležitou vlastností je ViewStyle, který určuje mód zobrazení: - vsicon zobrazení v módu ikon - vslist jednoduchý seznam - vssmallicon podobně jako vsicon, jen malé ikony - vsreport nejpoužívanější mód, seznam se sloupci Propojení s TImageList zajišťují property SmallImages, LargeImages a StateImages, kdy nejdůležitější je SmallImages, které jsou použity ve všech módech kromě vsicon. Důležitou vlastností je RowSelect, která určuje zda výběr bude celý řádek nebo jen položka. Ale nejdůležitější vlastností je Items, která udržuje seznam položek (viz část o editorech položek).

Za běhu lze přidat položky např. takto: procedure TForm1.FormCreate(Sender: TObject); lvitem: TListItem; // položka TListView i: Integer; tvitem: TTreeNode; // položka TTreeView j: Integer; lv1.items.beginupdate; for i := 1 to 10 do //10 polozek do TListView lvitem := lv1.items.add; lvitem.caption := 'Položka '+ IntToStr(i); lvitem.subitems.add('sub'+inttostr(i)); // druhý sloupec lv1.items.endupdate; tv1.items.beginupdate; for i := 1 to 10 do // 10 položek první úrovně tvitem := tv1.items.add(nil, 'Uzel '+IntToStr(i)); for j := 1 to 5 do // pridame druhou uroven 5 položek tv1.items.addchild(tvitem, 'sub'+ IntToStr(j)); tvitem.expanded := true; // rozbal uzel tv1.items.endupdate; Výsledek běhu je následující: Volání BeginUpdate / EndUpdate není povinné, ale v případě aktualizace více položek to výrazně urychluje vykonání, jelikož to zakáže překreslování a vyvolávání různých událostí. Ideálně by volání mělo být chráněno try.. finally, tj.

BeginUpdate try finally EndUpdate end Protože v případě nějaké chyby by se nepovolilo překreslování. Praktický příklad Zkusíme napodobit průzkumníka, tj. v našem programu bude vlevo TTreeView a vpravo TListView. Naplnění stromu ukáži, zobrazení položek podle vybrané položky bude domácí úkol. Program je v příloze. Zde klíčový kód. Po startu se strom naplnění adresáři od konstanty csstart. Ve skutečném projektu se jednotlivé úrovně načtou při rozbalení, tady to načteme najednou i když to bude trvat déle. procedure TForm1.FormCreate(Sender: TObject); lvitem: TListItem; i: Integer; tvitem: TTreeNode; j: Integer; const csstart = 'c:\windows\system32'; tv1.items.beginupdate; // mfilltreelevel(nil, 'c:'); mfilltreelevel(tv1.items.add(nil, csstart), csstart ); tv1.items.endupdate; Klíčová metoda na načtení jedné úrovně. Jedná se o rekurzívní metodu volá sama sebe s jinými parametry postupně, tak jak prochází diskem. Kombinace FindFirst, FindNext a FindClose se použije při čtení adresáře. procedure TForm1.mFillTreeLevel(oParentNode: TTreeNode; const spath: string); sr: TSearchRec; oitem: TTreeNode; if FindFirst(sPath+'\'+'*.*', faanyfile, sr) = 0 then repeat if (sr.attr and fadirectory) > 0 then

if (sr.name <> '.') and (sr.name <> '..') then oitem := tv1.items.addchild(oparentnode, sr.name); mfilltreelevel(oitem, spath + '\'+sr.name ); until FindNext(sr) <> 0; FindClose(sr); Nápověda pro domácí úkol: - Je třeba obsloužit OnChange stromu a tam vždy volat plnění ListView. - ListView se vyprázdní voláním Items.Clear (za BeginUpdate!) - Program lze rozšířit libovolně (ikony, lepší detaily souborů )