Obslužné rutiny seznamu vlastností
Když uživatel klikne pravým tlačítkem myši na objekt Prostředí, místní nabídka, která se zobrazí normálně, obsahuje Vlastnosti položku. Výběrem této položky se spustí seznam vlastností, který uživateli umožňuje zobrazit a v některých případech upravit vlastnosti objektu. Tento seznam vlastností můžete přizpůsobit implementací a registrací obslužné rutiny seznamu vlastností.
Obecné postupy implementace a registrace obslužné rutiny rozšíření prostředí jsou popsány v Vytváření obslužných rutin rozšíření prostředí. Tento dokument se zaměřuje na aspekty implementace, které jsou specifické pro obslužné rutiny seznamu vlastností.
- fungování obslužných rutin seznamu vlastností
- registrace a implementace obslužné rutiny seznamu vlastností pro připojené jednotky
- související témata
Jak fungují obslužné rutiny seznamu vlastností
Následující obrázek znázorňuje seznam vlastností vlastnosti textového souboru systému Windows XP.
Tento obrázek znázorňuje výchozí seznam vlastností Vlastnosti, který se zobrazí pro libovolný soubor. U mnoha takových seznamů vlastností můžete do seznamu vlastností přidat jednu nebo více stránek implementací a registrací obslužné rutiny seznamu vlastností.
Obslužné rutiny seznamu vlastností jsou nejčastěji registrovány pro typ souboru. Každá obslužná rutina může přidat jednu vlastní stránku do seznamu vlastností vlastnosti třídy. Tyto stránky obvykle poskytují uživatelům přístup k vlastnostem, které jsou specifické pro konkrétní typ souboru. Typ souboru skládající se z textových dokumentů může například zobrazit stránku s názvem a autorem a abstrakcí dokumentu. Speciální případ tohoto typu obslužné rutiny seznamu vlastností slouží k přidání stránky do seznamu vlastností Vlastnosti pro připojenou jednotku.
Druhým použitím obslužných rutin seznamu vlastností je nahrazení stránek v listech vlastností zobrazených aplikacemi Ovládacích panelů. Výrobce myši může například použít obslužnou rutinu seznamu vlastností k nahrazení stránky Tlačítka na Ovládacích panelech Vlastnosti myši seznam vlastností stránky, která je přizpůsobena charakteristikám myši.
Stejně jako všechny obslužné rutiny rozšíření prostředí, obslužné rutiny seznamu vlastností jsou objekty modelu COM (In-Process Component Object Model) implementované jako knihovny DLL. KroměIUnknown musí kroměIUnknown exportovat dvě rozhraní: IShellExtInit a IShellPropSheetExt.
Rozhraní IShellExtInit se používá prostředím k inicializaci obslužné rutiny. Když shell volá IShellExtInit::Initialize, předává datový objekt s názvem objektu a ukazatel na seznam identifikátorů položky (PIDL) složky, která obsahuje soubor. Parametr hRegKey se nepoužívá s obslužnými rutinami seznamu vlastností. IShellExtInit::Initialize metoda musí extrahovat název souboru z datového objektu a uložit název a PIDL složky pro pozdější použití. Další podrobnosti najdete v části Implementace rozhraní IShellExtInitVytváření obslužných rutin rozšíření prostředí.
Zbytek operace probíhá prostřednictvím rozhraní IShellPropSheetExt obslužné rutiny. Pokud je seznam vlastností přidružený k typu souboru, shell volá IShellPropSheetExt::AddPages povolit obslužné rutině přidat stránku do seznamu vlastností. Pokud je seznam vlastností přidružený k aplikaci Ovládací panely, shell volá IShellPropSheetExt::ReplacePage povolit obslužné rutině nahradit stránku.
Registrace a implementace obslužné rutiny seznamu vlastností pro připojenou jednotku
Každá připojená jednotka má list Vlastnosti, který může uživatel zobrazit. Následující obrázek znázorňuje seznam vlastností vlastnosti pro jednotku CD-ROM.
Existuje celá řada zařízení, která je možné připojit jako jednotky. Vzhledem k tomu, že výchozí seznam vlastností navržený pro diskové jednotky nemusí být pro některá zařízení dostatečný, může být obslužná rutina seznamu vlastností implementována pro přidání stránky, která je specifická pro připojené zařízení. Základní implementace tohoto typu obslužné rutiny seznamu vlastností je stejná jako v Postup registrace a implementace obslužné rutiny seznamu vlastností pro typ souboru, se dvěma výjimkami.
- Datový objekt předaný obslužné rutině IShellExtInit::Initialize metoda může obsahovat cestu jednotky ve formátu CFSTR_MOUNTEDVOLUME namísto formátu CF_HDROP. Formát CF_HDROP se používá, když je zařízení připojené k písmenu jednotky. Formát CFSTR_MOUNTEDVOLUME se používá se systémy souborů NTFS, když je vzdálené zařízení připojené ke složce, nikoli k písmenu jednotky.
- Identifikátor GUID obslužné rutiny je registrován v klíčiHKEY_CLASSES_ROOT\Drive\shellex\ PropertySheetHandlers.
Související témata
-
Postup registrace a implementace obslužné rutiny seznamu vlastností pro typ souboru
-
Postup registrace a implementace obslužné rutiny seznamu vlastností pro aplikace Ovládacích panelů