Dva tipy pro Delphi - 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

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 Dokumenty

Součá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:

  1. 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.
  2. 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:

procedure SHAddToRecentDocs(uFlags: UINT; pv: Pointer); stdcall;

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ů

Dialog "Najít" ve Windows

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:

ShellExecute(Handle, 'find', 'C:\', nil, nil, SW_SHOWNORMAL);

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: