Hrajeme si na Explorer - 2. díl - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Delphi

Hrajeme si na Explorer - 2. díl

19. září 2001, 00.00 | V dnešním dílu seriálu přidáme do vytvářeného programu možnost různého způsobu zobrazení seznamu souborů.

Ve druhém dílu seriálu přidáme do programu možnost různého způsobu zobrazení seznamu souborů ("Malé ikony", "Seznam", "Podrobnosti"). Bez dlouhých úvodů pojďme rovnou na věc.

SmallFileImages

Ve všech nově přidaných režimech zobrazení budeme potřebovat k souborům jejich malé ikony. Ty získáme obdobným způsobem, jako velké. Pro ty, kteří četli minulý díl seriálu to je v podstatě opakování, takže postup popíšu jen stručně.

Na formulář přidáme nový TImageList pojmenovaný SmallFileImages. Nastavíme mu vlastnost ShareImages na True a nastavíme jeho název jako hodnotu vlastnosti SmallImages u FileView (tedy komponenty typu TListView, která nám slouží k výpisu souborů).

Do procedury TForm1.FormCreate pak přidáme několik následujících řádků:

SmallFileImages.Handle := SHGetFileInfo(
  PChar(Application.ExeName),
  0,
  SFI, SizeOf(SFI),
  SHGFI_SYSICONINDEX + SHGFI_SMALLICON
);

Tím získáme handle systémového seznamu malých ikon souborů, který pak přidružíme k SmallFileImages.

Sloupce

Jistě jste si všimli, že v režimu "Podrobnosti" se v Exploreru zobrazují sloupce se jménem souboru, jeho velikostí, typem a datem změny. I toto chování napodobíme. V editačním dialogu vlastnosti Columns komponenty FileView přidáme čtyři sloupce s takto nastavenými vlastnostmi:


index sloupce Caption Width Alignment
0 název 120 taLeftJustify
1 velikost 60 taRightJustify
2 typ 120 taLeftJustify
3 změněno 120 taLeftJustify

Po přidání nastavíme vlastnost ColumnClick na False - zatím nebudeme mít možnost třídit soubory podle jednotlivých kategorií (tuto funkci implementujeme v některém dalším dílu).

Přepínání

Výběr režimu zobrazeníNyní se vrhneme na přepínání mezi režimy zobrazení. K tomuto účelu přidáme na horní panel ComboBox pojmenovaný ViewStyleCombo. Vlastnost Style nastavíme na hodnotu csDropDownList - půjde tedy vybírat z jednotlivých položek, ale nikoliv vepisovat vlastní hodnotu. Položkami budou názvy jednotlivých režimů zobrazení (viz obrázek nalevo). Do procedury TForm1.FormCreate přidáme následující řádek, který zajistí výběr režimu "Velké ikony" na počátku:

ViewStyleCombo.ItemIndex := 0;

Do procedury zpracovávající událost OnChange našeho ComboBoxu musíme přidat kód upravující styl zobrazení podle aktuálně vybrané položky. Styl zobrazení (vlastnost ViewStyle komponenty TListView)je typu TViewStyle, což je výčtový typ (tzn. může mít jen několik předem definovaných hodnot, v tomto konkrétním případě vsIcon, vsList, vsReport a vsSmallIcon). Pokud využijeme faktu, že každé z konstant odpovídá číselná hodnota, počínaje nulou (odborněji řečeno: výčtové typy jsou ordinální), stačí použít přetypování a styl zobrazení lze získat přímo z indexu vybrané položky. Není tedy potřeba používat příkazy case nebo dokonce if, jak by možná mohlo někoho zpočátku napadnout. Procedura vypadá takto:

procedure TForm1.ViewStyleComboChange(Sender: TObject);
begin
  FileView.ViewStyle := TViewStyle(ViewStyleCombo.ItemIndex);
end;

Příště

Pro dnešek by to stačilo, příště naplníme jednotlivé zobrazené sloupce v režimu podrobnosti správnými daty.

Aplikaci ve stavu vývoje po dnešním článku si můžete stáhnout zde.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Delphi  

 » Rubriky  » Windows  

 

 

 

Nejčtenější články
Nejlépe hodnocené články

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: