Share via


Menüs und Ressourcen: Containererweiterungen

In diesem Artikel werden die Änderungen erläutert, die an den Menüs und anderen Ressourcen in einer Anwendung für visuelle Bearbeitungscontainer vorgenommen werden müssen.

In Containeranwendungen müssen zwei Arten von Änderungen vorgenommen werden: Änderungen an vorhandenen Ressourcen zur Unterstützung der visuellen OLE-Bearbeitung und des Hinzufügens neuer Ressourcen, die für die direkte Aktivierung verwendet werden. Wenn Sie den Anwendungs-Assistenten verwenden, um Ihre Containeranwendung zu erstellen, werden diese Schritte für Sie ausgeführt, erfordern jedoch möglicherweise einige Anpassungen.

Wenn Sie den Anwendungs-Assistenten nicht verwenden, sollten Sie sich OCLIENT ansehen. RC, das Ressourcenskript für die OCLIENT-Beispielanwendung, um zu sehen, wie diese Änderungen implementiert werden. Weitere Informationen finden Sie im MFC OLE-Beispiel für OCLIENT.

In diesem Artikel werden die folgenden Themen behandelt:

Ergänzungen im Containermenü

Sie müssen dem Menü "Bearbeiten" die folgenden Elemente hinzufügen:

Artikel Zweck
Neues Objekt einfügen Öffnet das Dialogfeld OLE-Objekt einfügen, um ein verknüpftes oder eingebettetes Element in das Dokument einzufügen.
Link einfügen Fügt einen Link zum Element in der Zwischenablage in das Dokument ein.
OLE-Verb Ruft das primäre Verb des ausgewählten Elements auf. Der Text dieses Menüelements ändert sich, um das primäre Verb des ausgewählten Elements widerzuspiegeln.
Links Öffnet das Dialogfeld "OLE-Verknüpfungen bearbeiten", um vorhandene verknüpfte Elemente zu ändern.

Zusätzlich zu den in diesem Artikel aufgeführten Änderungen muss Ihre Quelldatei AFXOLECL enthalten. RC, das für die Microsoft Foundation Class Library-Implementierung erforderlich ist. "Neues Objekt einfügen" ist die einzige erforderliche Menüzufügung. Andere Elemente können hinzugefügt werden, aber die hier aufgeführten Elemente sind am häufigsten.

Sie müssen ein neues Menü für Ihre Containeranwendung erstellen, wenn Sie die direkte Aktivierung von enthaltenen Elementen unterstützen möchten. Dieses Menü besteht aus demselben Menü "Datei" und den Popupmenüs "Fenster", die beim Öffnen von Dateien verwendet werden, aber es sind zwei Trennzeichen dazwischen angeordnet. Diese Trennzeichen werden verwendet, um anzugeben, wo das Serverelement (Komponente) (Anwendung) seine Menüs platzieren soll, wenn es aktiviert wird. Weitere Informationen zu dieser Menüzusammenführungsmethode finden Sie unter Menüs und Ressourcen: Menüzusammenführung.

Ergänzungen der Containeranwendungsinfo-Tabelle

Kleine Änderungen an den Zugriffstastentabellenressourcen einer Containeranwendung sind erforderlich, wenn Sie die direkte Aktivierung unterstützen. Mit der ersten Änderung kann der Benutzer die ESCAPE-TASTE (ESC) drücken, um den direkten Bearbeitungsmodus abzubrechen. Fügen Sie der Standard Accelerator-Tabelle den folgenden Eintrag hinzu:

ID Schlüssel Typ
ID_CANCEL_EDIT_CNTR VK_ESCAPE VIRTKEY

Die zweite Änderung besteht darin, eine neue Zugriffstastentabelle zu erstellen, die der neuen Menüressource entspricht, die für die direkte Aktivierung erstellt wurde. Diese Tabelle enthält Einträge für die Menüs "Datei" und "Fenster" zusätzlich zum oben aufgeführten VK_ESCAPE Eintrag. Im folgenden Beispiel wird die Zugriffstastentabelle für die direkte Aktivierung im MFC-BeispielCONTAINER erstellt:

ID Schlüssel Typ
ID_FILE_NEW STRG+N VIRTKEY
ID_FILE_OPEN STRG+O VIRTKEY
ID_FILE_SAVE STRG+S VIRTKEY
ID_FILE_PRINT STRG+P VIRTKEY
ID_NEXT_PANE VK_F6 VIRTKEY
ID_PREV_PANE UMSCHALT+VK_F6 VIRTKEY
ID_CANCEL_EDIT_CNTR VK_ESCAPE VIRTKEY

Ergänzungen von Zeichenfolgentabellen für Containeranwendungen

Die meisten Änderungen an Zeichenfolgentabellen für Containeranwendungen entsprechen den zusätzlichen Menüelementen, die in Den Hinzufügungen des Containermenüs Erwähnung. Sie geben den Text an, der in der Statusleiste angezeigt wird, wenn jedes Menüelement angezeigt wird. Im Folgenden sehen Sie beispielsweise die Zeichenfolgentabelleneinträge, die der Anwendungs-Assistent generiert:

ID String
IDP_OLE_INIT_FAILED Fehler bei der OLE-Initialisierung. Stellen Sie sicher, dass die OLE-Bibliotheken die richtige Version sind.
IDP_FAILED_TO_CREATE Fehler beim Erstellen des Objekts. Stellen Sie sicher, dass das Objekt in die Systemregistrierung eingegeben wird.

Siehe auch

Menüs und Ressourcen (OLE)
Menüs und Ressourcen: Servererweiterungen