Comment ajouter des éléments de Menu, boutons de la barre de contrôle et une feuille de propriétés de l'objet enfichable?

Il y a plusieurs composants d'interface (interface utilisateur) utilisateur de la console MMC snap-in objet qui peut être personnalisé. Certains de ces domaines, tels que les boutons de la barre d'outils et éléments de menu, influent sur les composants de l'application de la console MMC. Le dernier élément est une feuille de propriétés standard qui affiche les propriétés de la snap-in objet, qui peut être personnalisée par l'utilisateur. Par défaut, l'Assistant composant logiciel enfichable MMC ne génère pas les éléments d'interface utilisateur personnalisées. Cependant, il y a des espaces réservés dans le code du composant logiciel enfichable objet qui indiquent où peuvent aller les vos éléments d'interface utilisateur personnalisés.

Ajout d'éléments de Menu de contexte personnalisés

Un domaine, que vous pouvez personnaliser est le menu contextuel pour les éléments de l'objet de composant logiciel enfichable. Quatre éléments de menu sont disponibles pour la personnalisation : haut, New, tâche et vue. L'Assistant logiciel enfichable crée une ressource menu avec des espaces réservés pour les quatre emplacements.

Parce que la ressource de menu est connue par l'objet snap-in, ajouter des éléments de menu personnalisés requis dans la fente appropriée et qu'ils apparaissent automatiquement dans le menu contextuel d'un élément de composant logiciel enfichable. L'élément enfichable sait la ressource menu à utiliser, car l'objet de données contient la déclaration suivante:

 SNAPINMENUID(IDR_MMCSNAP_MENU)

La plate-forme SDK fournit une interface ( IExtendContextMenu) pour personnaliser le menu contextuel d'un élément de composant logiciel enfichable. Dans la plupart des cas, vous ne devez pas appeler cette interface directement, mais si le composant logiciel enfichable est avancé, plus d'informations sur cette interface sont disponibles dans le SDK de la plate-forme.

Boutons de la barre de contrôle l'ajout

Si votre objet enfichable utilise une barre d'outils personnalisée, vous pouvez ajouter n'importe quel nombre de boutons à elle une fois la ressource de barre d'outils a été créée. Vous pouvez ensuite fournir des gestionnaires d'événements pour chaque bouton à gérer des tâches personnalisées. Pour plus d'informations, voir comment ajouter une ressource de barre d'outils à l'objet Snap-In?.

La plate-forme SDK fournit une interface ( IExtendControlbar) pour personnaliser la barre de contrôle d'un composant logiciel enfichable. Dans la plupart des cas, vous ne devez pas appeler cette interface directement, mais si le composant logiciel enfichable est avancé, plus d'informations sur cette interface sont disponibles dans le SDK de la plate-forme.

Ajout d'une feuille de propriétés

Chaque élément composant logiciel enfichable peut afficher une feuille de propriétés standard, accessible dans le menu contextuel lorsque l'utilisateur clique la souris.

Par défaut, l'Assistant composant logiciel enfichable MMC ne prévoit pas la mise en œuvre de cette fonctionnalité. Toutefois, si vous sélectionnez la case à cocher IExtendPropertySheet , l'Assistant crée une classe de page de propriétés par défaut ( CSnapNamePage , dérivé de CSnapInPropertyPageImpl) et une ressource de boîte de dialogue (IDD_SnapName) pour la feuille de propriétés.

Pour remplir cette fonction, ajouter des contrôles qui permettent à l'utilisateur de modifier les propriétés de l'élément enfichable.

Pour ajouter des pages supplémentaires à la feuille de propriétés, vous devez une nouvelle classe de page de la propriété, une ressource de boîte de dialogue Nouveau et code supplémentaire dans la méthode CreatePropertyPages de votre classe de données. Dans cet exemple, la nouvelle classe est appelée CMMCSnapPage2 et est la ressource de boîte de dialogueIDD_MMCSNAP2.

Une fois que vous avez les classes nécessaires et les ressources, les ajouter à la méthode CreatePropertyPages pour créer et ajouter la nouvelle page de propriétés à la feuille. Par exemple, le code suivant ajoute une nouvelle page ( pPage2 ), mis en place avec le nouveau CMMCSnapPage2 classe, à l'objet enfichable:

CMMCSnapPage2 * pPage2 = new CMMCSnapPage2(_T("MMCSnap2")) ;
lpProvider-gt ;AddPage (pPage2 - > Create())

La plate-forme SDK fournit une interface ( IExtendPropertySheet) pour personnaliser la feuille de propriétés d'un composant logiciel enfichable. Dans la plupart des cas, vous ne devez pas appeler cette interface directement, mais si le composant logiciel enfichable est avancé, plus d'informations sur cette interface sont disponibles dans le SDK de la plate-forme.

Index