Gestionnaires de feuille de propriétés
Lorsqu’un utilisateur clique avec le bouton droit sur un objet Shell, le menu contextuel affiché inclut normalement un Propriétés élément. La sélection de cet élément lance une feuille de propriétés qui permet à l’utilisateur d’afficher et, dans certains cas, de modifier les propriétés de l’objet. Vous pouvez personnaliser cette feuille de propriétés en implémentant et en inscrivant un gestionnaire de feuilles de propriétés .
Les procédures générales d’implémentation et d’inscription d’un gestionnaire d’extensions Shell sont décrites dans Création de gestionnaires d’extensions Shell. Ce document se concentre sur les aspects de l’implémentation spécifiques aux gestionnaires de feuille de propriétés.
- fonctionnement des gestionnaires de feuille de propriétés
- Inscrire et implémenter un gestionnaire de feuille de propriétés pour un lecteur monté
- rubriques connexes
Fonctionnement des gestionnaires de feuille de propriétés
L’illustration suivante montre la feuille de propriétés Propriétés d’un fichier texte Windows XP.
Cette illustration montre la feuille de propriétés Propriétés par défaut affichée pour n’importe quel fichier. Pour de nombreuses feuilles de propriétés de ce type, vous pouvez ajouter une ou plusieurs pages à la feuille de propriétés en implémentant et en inscrivant un gestionnaire de feuilles de propriétés.
Les gestionnaires de feuille de propriétés sont les plus couramment inscrits pour un type de fichier . Chaque gestionnaire peut ajouter une page personnalisée à la feuille de propriétés Propriétés de la classe. Ces pages donnent généralement aux utilisateurs l’accès aux propriétés spécifiques au type de fichier particulier. Un type de fichier composé de documents texte peut, par exemple, afficher une page qui répertorie le titre et l’auteur, ainsi qu’un résumé du document. Un cas spécial de ce type de gestionnaire de feuille de propriétés est utilisé pour ajouter une page à la feuille de propriétés Propriétés d’un lecteur monté.
L’autre utilisation pour les gestionnaires de feuilles de propriétés consiste à remplacer les pages des feuilles de propriétés affichées par les applications du Panneau de configuration. Un fabricant de souris, par exemple, peut utiliser un gestionnaire de feuille de propriétés pour remplacer la page Boutons de la page des propriétés du Panneau de configuration feuille de propriétés par une page personnalisée pour les caractéristiques de sa souris.
Comme tous les gestionnaires d’extensions Shell, les gestionnaires de feuille de propriétés sont des objets COM (Component Object Model) in-process implémentés en tant que DLL. Ils doivent exporter deux interfaces en plus de IUnknown : IShellExtInit et IShellPropSheetExt.
L’interface IShellExtInit est utilisée par l’interpréteur de commandes pour initialiser le gestionnaire. Lorsque l’interpréteur de commandes appelle IShellExtInit ::Initialize, il passe un objet de données avec le nom de l’objet et le pointeur vers une liste d’identificateurs d’élément (PIDL) du dossier qui contient le fichier. Le paramètre hRegKey n’est pas utilisé avec les gestionnaires de feuille de propriétés. La méthode IShellExtInit ::Initialize doit extraire le nom de fichier de l’objet de données et stocker le nom et le code PIDL du dossier pour une utilisation ultérieure. Pour plus d’informations, consultez la section Implémentation d’IShellExtInit de Création de gestionnaires d’extensions Shell.
Le reste de l’opération a lieu via l’interface IShellPropSheetExt du gestionnaire. Si la feuille de propriétés est associée à un type de fichier, l’interpréteur de commandes appelle IShellPropSheetExt ::AddPages pour permettre au gestionnaire d’ajouter une page à la feuille de propriétés. Si la feuille de propriétés est associée à une application du Panneau de configuration, l’interpréteur de commandes appelle IShellPropSheetExt ::ReplacePage pour autoriser le gestionnaire à remplacer une page.
Inscription et implémentation d’un gestionnaire de feuille de propriétés pour un lecteur monté
Chaque lecteur monté a une feuille de propriétés qui peut être affichée par l’utilisateur. L’illustration suivante montre une feuille de propriétés Properties pour un lecteur CD-ROM.
Il existe un large éventail d’appareils qui peuvent être montés en tant que lecteurs. Étant donné que la feuille de propriétés par défaut, conçue pour les lecteurs de disque, peut ne pas suffire pour certains appareils, un gestionnaire de feuilles de propriétés peut être implémenté pour ajouter une page spécifique à l’appareil monté. L’implémentation de base de ce type de gestionnaire de feuille de propriétés est identique à celle décrite dans How to Register and Implement a Property Sheet Handler for a File Type, avec deux exceptions.
- L’objet de données transmis à la méthode IShellExtInit ::Initialize du gestionnaire peut contenir le chemin du lecteur au format CFSTR_MOUNTEDVOLUME au lieu du format CF_HDROP. Le format CF_HDROP est utilisé lorsque l’appareil est monté sur une lettre de lecteur. Le format CFSTR_MOUNTEDVOLUME est utilisé avec les systèmes de fichiers NTFS lorsque l’appareil distant est monté dans un dossier plutôt que dans une lettre de lecteur.
- Le GUID du gestionnaire est inscrit sous la clé HKEY_CLASSES_ROOT\Drive\shellex\PropertySheetHandlers.
Rubriques connexes