Wie füge ich Menüelemente und Schaltflächen-Steuerelement ein Eigenschaftenblatt auf das Objekt-Snap-In hinzu?

Es gibt verschiedene Komponenten der Benutzeroberfläche (UI) für das MMC-Snap-in-Objekt, das angepasst werden können. Einige dieser Bereiche, wie z. B. Symbolleisten-Schaltflächen und Menüelemente, beeinflussen die Komponenten der Anwendung MMC. Die letzte Komponente ist eine standard-Eigenschaftenblatt, in dem die Eigenschaften des Objekts-Snap-in angezeigt, die vom Benutzer angepasst werden können. Das MMC-Snap-In-Assistent generiert standardmäßig keine benutzerdefinierten Benutzeroberflächenelemente. Allerdings gibt es Platzhalter im Snap-in Objekt-Code, die angeben, wo Ihre benutzerdefinierte Benutzeroberflächenelemente gehen kann.

Hinzufügen von benutzerdefinierte Kontextmenüelemente

Ein Bereich, den Sie anpassen können, wird das Kontextmenü für die Elemente des Objekts-Snap-in. Vier Menüpunkte sind für die Anpassung verfügbar: Top, neu, Aufgabe und Ansicht. Das Snap-In-Assistent erstellt eine Menüressource mit Platzhaltern für die vier Steckplätze.

Da die Menüressource durch das Snap-in-Objekt bekannt ist, fügen Sie benutzerdefinierte Menübefehle unter den entsprechenden Steckplatz erforderlich und sie automatisch in das Kontextmenü eines Elements-Snap-in angezeigt. Das Snap-in-Element weiß welche Menüressource zu verwenden, da das Datenobjekt die folgende Deklaration enthält:

 SNAPINMENUID(IDR_MMCSNAP_MENU)

Das Plattform-SDK stellt eine Schnittstelle ( IExtendContextMenu) im Kontextmenü eines Elements-Snap-ins anpassen. In den meisten Fällen müssen Sie nicht diese Schnittstelle direkt aufrufen, aber wenn das Snap-in erweitert ist, weitere Informationen über diese Schnittstelle ist im Platform SDK verfügbar.

Hinzufügen von Steuerleiste Tasten

Wenn Ihr Objekt-Snap-in eine benutzerdefinierte Symbolleiste verwendet, können Sie eine beliebige Anzahl von Schaltflächen darauf hinzufügen, sobald die Symbolleistenressource erstellt wurde. Dann können Sie Handler für die einzelnen Schaltflächen, benutzerdefinierte Aufgaben zu handhaben bereitstellen. Weitere Informationen finden Sie unter wie füge ich eine Symbolleistenressource mit dem Objekt-Snap-In?.

Das Plattform-SDK stellt eine Schnittstelle ( IExtendControlbar) Anpassung die Steuerleiste der ein Snap-in. In den meisten Fällen müssen Sie nicht diese Schnittstelle direkt aufrufen, aber wenn das Snap-in erweitert ist, weitere Informationen über diese Schnittstelle ist im Platform SDK verfügbar.

Hinzufügen eines Eigenschaftenblatts

Jedes Element-Snap-in kann eine standard-Eigenschaftenblatt, zugänglich, wenn der Benutzer die Maus mit der rechten Maustaste im Kontextmenü anzeigen.

Standardmäßig bietet der MMC-Snap-In-Assistenten nicht die Implementierung für diese Funktionalität. Jedoch, wenn Sie das Kontrollkästchen IExtendPropertySheet aktivieren, erstellt der Assistent eine Standard-Eigenschaftenseitenklasse ( CSnapNamePage , aus CSnapInPropertyPageImpl) und einer Dialogfeldressource (IDD_SnapName) für das Eigenschaftenblatt.

Um diese Funktion auszuführen, fügen Sie Steuerelemente, die dem Benutzer ermöglichen, ändern die Eigenschaften des Elements-Snap-in.

Um zusätzliche Seiten zum Eigenschaftenblatt hinzuzufügen, müssen Sie einen neuen Eigenschaftenseitenklasse, eine neue Dialogfeldressource und zusätzlichen Code in die CreatePropertyPages -Methode Ihrer Klasse Daten. In diesem Beispiel ist die neue Klasse namens CMMCSnapPage2 und die Dialogressource wirdIDD_MMCSNAP2.

Sobald Sie haben die notwendigen Klassen und Ressourcen, die CreatePropertyPages -Methode zu erstellen, und fügen Sie die neue Eigenschaftenseite zum Tabelle hinzufügen. Beispielsweise der folgende Code fügt eine neue Seite ( pPage2 ), mit dem neuen implementiert CMMCSnapPage2 -Klasse, um das Snap-in-Objekt:

CMMCSnapPage2 * pPage2 = neue CMMCSnapPage2(_T("MMCSnap2"));
LpProvider-Gt;AddPage (pPage2 - > Create())

Das Plattform-SDK stellt eine Schnittstelle ( IExtendPropertySheet) das Eigenschaftenblatt eines Snap-ins anpassen. In den meisten Fällen müssen Sie nicht diese Schnittstelle direkt aufrufen, aber wenn das Snap-in erweitert ist, weitere Informationen über diese Schnittstelle ist im Platform SDK verfügbar.

Index