Principy rozšíření oboru názvů prostředí

Průzkumník Windows poskytuje grafické znázornění prostředí Shell v kombinaci s nástroji, které uživatelům umožňují pracovat s objekty prostředí Shell. S rozšířením oboru názvů můžete vzít jakákoli data a nechat Průzkumníka Windows, aby je představil uživateli jako virtuální složku. Když uživatel přejde do této složky, zobrazí se vaše data jako stromová hierarchie složek a souborů, podobně jako zbytek oboru názvů prostředí. Uživatelé a aplikace můžou pracovat s obsahem této virtuální složky podobným způsobem jako s jakýmkoli jiným objektem oboru názvů. Tento dokument popisuje, jak vytvořit rozšíření oboru názvů.

Jak funguje rozšíření oboru názvů

Na pozadí je každá složka, kterou zobrazuje Průzkumník Windows, reprezentována COM objektem (Component Object Model) nazývaným objekt složky . Pokaždé, když uživatel pracuje se složkou nebo jeho obsahem, prostředí komunikuje s přidruženým objektem složky prostřednictvím jednoho z několika standardních rozhraní. Objekt složky pak provede cokoli potřebného k reakci na akci uživatele a prostředí aktualizuje zobrazení Průzkumníka Windows.

Většina souborů a složek, se kterými uživatelé pracují, jsou součástí systému souborů nebo systémové virtuální složky, jako je koš. Další dokumentace popisuje, jak můžete přizpůsobit chování těchto standardních složek tak, aby splňovaly požadavky vaší aplikace úpravou registru nebo implementací obslužných rutin rozšíření Shell. Rozšíření prostředí těmito způsoby je však nejužitečnější, když se informace dají snadno zabalit ve formě normálních souborů nebo složek systému souborů.

Existuje řada situací, kdy ukládání dat jako kolekce složek systému souborů a souborů může být nežádoucí nebo dokonce nemožné. Mezi příklady tohoto typu dat patří:

  • Kolekce položek, které se nejúčelněji zabalí do jednoho souboru, jako je například databáze.
  • Kolekce položek uložených ve vzdáleném počítači, který nemá standardní systém souborů Systému Windows. Příkladem těchto dat jsou informace uložené na osobním digitálním asistentovi (PDA) nebo digitálním fotoaparátu.
  • Kolekce položek, které nepředstavují uložená data. Příkladem těchto dat jsou odkazy na tiskárny obsažené ve standardní složce Tiskárny.

Jedním ze způsobů, jak uživateli prezentovat tento druh dat, je napsat aplikaci, která uživatelům umožní zobrazit různé položky a pracovat s nimi. Pokud se ale vaše data dají prezentovat jako hierarchie složek nebo souborů, může být většina funkcí, které budete muset implementovat, službami uživatelského rozhraní, které už poskytuje Průzkumník Windows. Může být mnohem efektivnějším přístupem napsat rozšíření oboru názvů a umožnit Průzkumníku Windows sloužit jako vaše grafické uživatelské rozhraní.

Pokud chcete implementovat rozšíření oboru názvů, musí být informace uspořádané jako obor názvů strukturovaný stromem. Kořenový vašeho oboru názvů se v oboru názvů prostředí zobrazí jako virtuální složka. Kořenová složka, všechny její podsložky a datové položky se stanou součástí oboru názvů prostředí Shell a Průzkumník Windows se stane vaším uživatelským rozhraním. Informace tak můžete uživateli prezentovat známým a snadno přístupným způsobem s mnohem menším programováním uživatelského rozhraní, než by bylo nutné pro vlastní aplikaci.

Rozšíření jmenného prostoru se skládá ze dvou základních součástí.

  • Správce dat
  • Rozhraní mezi správcem dat a Průzkumníkem Windows

První komponenta v seznamu je zcela na vás. Data můžete ukládat a spravovat jakýmkoli způsobem, který je nejúčinnější. Druhá komponenta je kód potřebný k zabalení dat jako objektů složek a zpracování interakce s Průzkumníkem Windows. Průzkumník Windows pak může tyto objekty volat, aby uživatelé mohli zobrazovat data a pracovat s nimi, jako by šlo o kolekci složek a souborů. Objekty složek rozšíření jmenného prostoru musí s Průzkumníkem Windows interagovat, jako by šlo o normální složky. Než se pokusíte implementovat rozšíření oboru názvů, musíte nejprve pochopit, jak Průzkumník Windows zpracovává objekt složky.

Výchozí objekt zobrazení systémové složky (DefView)

Shell poskytuje výchozí implementaci zobrazení složek, běžně označované jako DefView, takže se můžete vyhnout většině práce spojené s implementací vlastního rozšíření oboru názvů. Vzhledem k tomu, že některé funkce zobrazení nelze dosáhnout prostřednictvím vlastních zobrazení, často se doporučuje, aby se místo vlastního zobrazení používal výchozí objekt zobrazení systémové složky. Další informace naleznete v tématu SHCreateShellFolderView.

Interakce Průzkumníka Windows s rozšířením oboru názvů

Průzkumník Windows poskytuje uživatelům grafické uživatelské rozhraní, které jim umožňuje provádět různé úlohy, mezi které patří:

Grafické uživatelské rozhraní Průzkumníka Windows má pět základních komponent. Následující obrázek pojmenuje komponenty a ukazuje, kde se obvykle zobrazují v Průzkumníku Windows.

obrázek znázorňující součásti uživatelského rozhraní Průzkumníka Windows

Když uživatel zobrazí složku, která patří do rozšíření oboru názvů v Průzkumníku Windows, má objekt složky alespoň částečnou kontrolu nad obsahem všech pěti oblastí.

Stromové zobrazení

Stromové zobrazení poskytuje přehled oboru názvů. Tato oblast hostuje ovládací prvek stromového zobrazení, který může zobrazit všechny složky oboru názvů a umístění složky v hierarchii oboru názvů. Uživatel může provádět několik operací s oblastí stromového zobrazení, včetně:

  • Zobrazení nebo skrytí další úrovně v jmenném prostoru
  • Kopírování, přesouvání nebo odstraňování složek
  • Kliknutím pravým tlačítkem myši na složku zobrazíte místní nabídku.
  • Výběr složky a zobrazení jejího obsahu v zobrazení složek

Stromové zobrazení komunikuje s objekty složek primárně prostřednictvím jejich IShellFolder rozhraní. Když například uživatel klikne na znaménko plus (+) vedle ikony složky, Průzkumník Windows rozbalí zobrazení a zobrazí podsložky složky. Aby získal informace potřebné k aktualizaci stromového zobrazení, shell provádí několik volání rozhraní objektu složky IShellFolder:

  • Požádejte o atributy složky.
  • Zobrazí výčet obsahu složky.
  • Požádejte o zobrazované názvy pro každou podsložku.
  • Požádejte o zobrazení ikony vedle každé složky.

Průzkumník Windows pak aktualizuje stromové zobrazení tak, aby zobrazoval podsložky vybrané složky. Pokud podsložky obsahují podsložky, zobrazí se vedle ikony složky znak +. Existuje řada sofistikovanějších úloh, které může uživatel provádět také se stromovým zobrazením, včetně:

  • Pomocí schránky odstraňte nebo zkopírujte složku a vložte ji do jiné složky.
  • Přetažením vyjmout nebo zkopírovat složku a umístit ji do jiné složky.
  • Pomocí vyhledávacího webu můžete hledat položky ve složce nebo jejích podsložkách.
  • Úprava vlastností složky

Podrobnější diskusi o tom, jak rozšíření oboru názvů zpracovává tyto uživatelské akce, najdete v tématu Implementace základních rozhraní objektu složky.

Zobrazení složek

Když uživatel vybere složku, obsah složky se zobrazí v zobrazení složek. Do určité míry se normální funkce zobrazení složky překrývají se stromovým zobrazením. Uživatelé mohou přesouvat nebo kopírovat složky, měnit vlastnosti složky, zobrazovat obsah podsložky, zobrazit místní nabídku složky atd. Mezi stromovými zobrazeními a zobrazením složek ale existují různé rozdíly:

  • Zobrazení složek zobrazuje pouze obsah jedné složky, ani část ani celou hierarchii oboru názvů.
  • Zobrazení složky zobrazuje objekty souborů i objekty složek.
  • Zobrazení složky může zobrazit mnohem více informací o objektech než stromové zobrazení.
  • Zobrazení složek umožňuje rozšíření názvového prostoru mít téměř úplnou kontrolu nad tím, jaké informace se zobrazují a jak. Je možné upravit pouze menší aspekty stromového zobrazení, jako jsou ikony složek.

Na rozdíl od stromového zobrazení Průzkumník Windows neřídí přímo obsah zobrazení složky. Zobrazení složek je oblast, kterou Průzkumník Windows poskytuje objektům složek. Zobrazení a správa obsahu složky v zobrazení složek je odpovědností za objekt složky. Přestože většina zobrazení složek má poměrně standardní formát, existuje ve skutečnosti málo omezení toho, co se dá zobrazit nebo jak. Extrémním případem je internetová složka, což je plnohodnotný prohlížeč.

Když uživatel vybere složku, která patří vašemu rozšíření oboru názvů, okno se vytvoří a jeho popisovač se předá Průzkumníku Windows. Toto okno se stane podřízeným oknem zobrazení složky. Průzkumník Windows poskytuje rozměry okna zobrazení složky, ale neklade žádná omezení na obsah podřízeného okna. Potom můžete pomocí podřízeného okna zobrazit zobrazení složky.

Rozšíření jmenného prostoru používají jeden ze dvou přístupů ke vytvoření zobrazení složek:

  • Pomocí podřízeného okna můžete mít ovládací prvek zobrazení seznamu . Tento ovládací prvek umožňuje zobrazit obsah složky stejným způsobem jako Průzkumník Windows klasické zobrazení.
  • Pomocí podřízeného okna hostujte ovládací prvek WebBrowser a pomocí dokumentu Dynamic HTML (DHTML) zobrazte obsah složky.

Oba přístupy zobrazují zobrazení složek, které vypadá velmi podobně jako u systémových složek. Pokud ale chcete použít jiné schéma zobrazení, můžete to udělat zdarma.

Stejně jako většina aplikací pro Windows poskytuje Průzkumník Windows uživateli kolekci nástrojů. Kompletní výběr nástrojů je k dispozici prostřednictvím řádku nabídek. Běžně používané nástroje jsou také reprezentovány tlačítky nebo editačními poli na panelu nástrojů. Na rozdíl od mnoha aplikací systému Windows je nabídkový panel Průzkumníka Windows skutečně ovládacím prvkem panelu nástrojů , který je upravený, aby fungoval jako konvenční nabídka. Panel nabídek i panel nástrojů jsou začleněny do rebar ovládací, aby uživatelé mohli uspořádat jednotlivé ovládací prvky tak, aby vyhovovaly jejich potřebám.

Průzkumník Windows ve výchozím nastavení podporuje standardní sadu tlačítek a položek nabídek, například Kopírovat a Vlastnosti. Vaše rozšíření jmenného prostoru může přizpůsobit řádek nabídek a panely nástrojů odstraněním standardních nástrojů a přidáním vlastních nástrojů. Při inicializaci objektu zobrazení složky Průzkumník Windows předá ukazatel na jeho IShellBrowser rozhraní. Toto rozhraní podporuje několik metod, které můžete volat, abyste přizpůsobili nabídkovou lištu a panel nástrojů. Když uživatel vybere jednu z vlastních položek nabídky nebo tlačítek panelu nástrojů, Průzkumník Windows přeposílá zprávy WM_COMMAND pro tyto položky do procedury vašeho podřízeného okna.

Stavový řádek

Stavový řádek Průzkumníka Windows zobrazuje informace o aktuálně vybraném objektu. Vaše rozšíření oboru názvů může použít stavový řádek k zobrazení informací o stavu, například textového řetězce. Stavový řádek můžete přizpůsobit voláním IShellBrowser.