Tulajdonságlapkezelők
Amikor egy felhasználó a jobb gombbal egy Shell-objektumra kattint, a megjelenő helyi menü általában tartalmaz egy Tulajdonságok elemet. Az elem kijelölésekor megjelenik egy tulajdonságlap, amely lehetővé teszi a felhasználó számára az objektum tulajdonságainak megtekintését és bizonyos esetekben módosítását. Ezt a tulajdonságlapot testre szabhatja egy tulajdonságlap-kezelőimplementálásával és regisztrálásával.
A Shell-bővítménykezelők implementálásának és regisztrálásának általános eljárásait a Rendszerhéj-bővítménykezelők létrehozása ismerteti. Ez a dokumentum a megvalósítás azon aspektusaira összpontosít, amelyek a tulajdonságlapkezelőkre vonatkoznak.
- Tulajdonságlapkezelők működése
- Tulajdonságlapkezelő regisztrálása és implementálása csatlakoztatott meghajtókhoz
- Kapcsolódó témakörök
A tulajdonságlapkezelők működése
Az alábbi ábrán egy Windows XP-szövegfájl Tulajdonságok tulajdonságlapja látható.
Ez az ábra az alapértelmezett Tulajdonságok tulajdonságlapot jeleníti meg, amely bármely fájlhoz megjelenik. Sok ilyen tulajdonságlaphoz hozzáadhat egy vagy több lapot a tulajdonságlaphoz egy tulajdonságlap-kezelő implementálásával és regisztrálásával.
A tulajdonságlapkezelők leggyakrabban egy fájltípushoz vannak regisztrálva. Minden kezelő hozzáadhat egy egyéni lapot az osztály Tulajdonságok tulajdonságlapjára. Ezek a lapok általában hozzáférést biztosítanak a felhasználóknak az adott fájltípusra jellemző tulajdonságokhoz. Egy szöveges dokumentumból álló fájltípus megjeleníthet például egy lapot, amely a címet és a szerzőt, valamint a dokumentum kivonatát tartalmazza. Az ilyen típusú tulajdonságlap-kezelő speciális esete egy lap hozzáadására szolgál a csatlakoztatott meghajtó Tulajdonságok tulajdonságlapján.
A tulajdonságlap-kezelők másik használata a Vezérlőpult-alkalmazások által megjelenített tulajdonságlapok lapjainak cseréje. Az egérgyártó például egy tulajdonságlapkezelővel lecserélheti a Vezérlőpult Egértulajdonságok tulajdonságlapjának Gombok lapját egy olyan lapra, amely az egér jellemzőinek megfelelően van testre szabva.
Az összes Shell-bővítménykezelőhöz hasonlóan a tulajdonságlapkezelők is folyamatban lévő összetevő-objektummodell-(COM-) objektumok, amelyek DLL-ként vannak implementálva. A IUnknownmellett két adaptert is exportálniuk kell: IShellExtInit és IShellPropSheetExt.
Az IShellExtInit felületet a Shell használja a kezelő inicializálásához. Amikor a Shell meghívja IShellExtInit::Initialize, az objektum nevével ellátott adatobjektumban továbbítja az egérmutatót a fájlt tartalmazó mappa elemazonosító-listájára (PIDL). A hRegKey paraméter nem használható a tulajdonságlap-kezelőkhöz. Az IShellExtInit::Initialize metódusnak ki kell nyernie a fájlnevet az adatobjektumból, és tárolnia kell a nevet és a mappa PIDL-jét későbbi használatra. További részletekért lásd a Shell-bővítménykezelők létrehozásacímű IShellExtInit implementálását ismertető szakaszt.
A művelet hátralévő része a kezelő IShellPropSheetExt interfészén keresztül történik. Ha a tulajdonságlap fájltípushoz van társítva, a Shell meghívja IShellPropSheetExt::AddPages, hogy a kezelő felvegye a lapot a tulajdonságlapra. Ha a tulajdonságlap egy Vezérlőpult-alkalmazáshoz van társítva, a Shell meghívja IShellPropSheetExt::ReplacePage, hogy a kezelő lecseréljen egy lapot.
Tulajdonságlapkezelő regisztrálása és implementálása csatlakoztatott meghajtóhoz
Minden csatlakoztatott meghajtóhoz tartozik egy Tulajdonságok lap, amelyet a felhasználó megjeleníthet. Az alábbi ábrán egy CD-ROM meghajtó Tulajdonságok tulajdonságlapja látható.
Sokféle eszköz csatlakoztatható meghajtóként. Mivel a lemezmeghajtókhoz tervezett alapértelmezett tulajdonságlap bizonyos eszközökhöz nem elegendő, a tulajdonságlap-kezelő implementálható a csatlakoztatott eszközre jellemző lap hozzáadásához. Az ilyen típusú tulajdonságlap-kezelő alapszintű implementációja megegyezik a Tulajdonságlap-kezelő regisztrálása és implementálása fájltípusúkét kivétellel című szakaszában ismertetettekkel.
- A kezelő IShellExtInit::Initialize metódusnak átadott adatobjektum a CF_HDROP formátum helyett CFSTR_MOUNTEDVOLUME formátumban tartalmazhatja a meghajtó elérési útját. A CF_HDROP formátumot akkor használja a rendszer, ha az eszköz meghajtóbetűjelre van csatlakoztatva. A CFSTR_MOUNTEDVOLUME formátum ntfs fájlrendszerekkel használható, ha a távoli eszköz meghajtóbetűjel helyett egy mappára van csatlakoztatva.
- A kezelő GUID azonosítója a HKEY_CLASSES_ROOT\Meghajtó\shellex\PropertySheetHandlers kulcs alatt van regisztrálva.
Kapcsolódó témakörök
-
Tulajdonságlapkezelő regisztrálása és implementálása fájltípusú
-
Vezérlőpult-alkalmazás tulajdonságlapkezelőjének regisztrálása és implementálása