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
Dva tipy pro Delphi
31. října 2001, 00.00 | Dnes si ukážeme dva tipy pro Delphi - jak přidat zástupce souboru do nabídky Start|Dokumenty a jak z programu zobrazit standardní okno na vyhledávání souborů a složek.
Dnes si ukážeme dva tipy, které by samy o sobě na samostatný článek nevydaly, ale takto spojené snad ano. Oba dva se týkají Windows Shellu.
Přidání souboru do nabídky DokumentySoučástí menu Start ve Windows všeho druhu je i nabídka Dokumenty. V té se zobrazují zástupci na soubory, které uživatel naposled otevíral - samozřejmě jen u programů, které přidávání dokumentů do tohoto menu podporují. Pokud píšete program pracující se soubory, možná byste ho o funkci přidávání souborů do nabídky Dokumenty rádi obohatili.
První nápad, jak na to, je vytvořit obyčejného zástupce na soubor ve složce Dokumenty, jejíž přesné umístění můžete najít pomocí funkce popsané v jenom z mých předcházejících článků. Tento postup má ale dvě nevýhody:
- Neodstraňují se předešlí zástupci - celkový počet zástupců ve složce tím pádem může neomezeně narůstat.
- Museli bychom definovat chování programu v případě kolize jmen, tedy situace, kdy ve složce Dokumenty už existuje zástupce se stejným jménem, jako chceme vytvořit i my.
Zkrátka - tato cesta není ta pravá. Naštěstí ale existuje "ta správná" varianta - funkce Win32 API SHAddToRecentDocs. Ta je deklarována v unitě ShlObj takto:
|
Pokud má první parametr hodnotu SHARD_PATH, pak je parametr pv ukazatel na řetězec s cestou k souboru, který chceme přidat do menu Dokumenty. Hodnota SHARD_PIDL by znamenala, že pv je ukazatel na identifikátor položky shellu, ale to nás nemusí příliš vzrušovat - pro běžné případy použijeme první případ. Po zavolání této funkce pak Windows automaticky přidají zástupce dokumentu do nabídky a ošetří případné kolize a příliš velký počet zástupců v nabídce.
Okno hledání souborůMožná jste někdy potřebovali zobrazit ze svého programu dialog vyhledávání souborů - ten, který se objeví po kliknutí na Start|Najít|Soubory či složky... Je to s podivem, ale řešení ke poměrně jednoduché - stačí použít funkci ShellExecute, která je standardní součást Win32 API a deklarovaná je v unitě ShellAPI.
Za hodnotu parametru Operation (druhý v pořadí) je třeba dosadit řetězec 'find' a za FileName (třetí parametr) cestu, která bude defaultně vybrána k prohledání. Za zbylé parametry typu PChar postačí dosadit hodnotu nil.
Níže uvedený příklad způsobí zobrazení dialogového okna, které má přednastavené vyhledávání v kořenovém adresáři disku C:
|
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007