Menüs und Ressourcen (OLE)
In dieser Artikelgruppe wird die Verwendung von Menüs und Ressourcen in MFC OLE-Dokumentanwendungen erläutert.
Die visuelle OLE-Bearbeitung stellt zusätzliche Anforderungen an das Menü und andere Ressourcen, die von OLE-Dokumentanwendungen bereitgestellt werden, da es eine Reihe von Modi gibt, in denen Sowohl Container- als auch Serveranwendungen (Komponenten) gestartet und verwendet werden können. Beispielsweise kann eine Vollserveranwendung in einem der folgenden drei Modi ausgeführt werden:
Eigenständig.
Hier können Sie ein Element im Kontext eines Containers bearbeiten.
Öffnen, um ein Element außerhalb des Kontexts seines Containers zu bearbeiten, häufig in einem separaten Fenster.
Dies erfordert drei separate Menülayouts, eines für jeden möglichen Modus der Anwendung. Zugriffstastentabellen sind auch für jeden neuen Modus erforderlich. Eine Containeranwendung kann die direkte Aktivierung unterstützen oder nicht; Wenn dies der Fall ist, benötigt sie eine neue Menüstruktur und zugehörige Zugriffstastentabellen.
Für die direkte Aktivierung müssen Container- und Serveranwendungen für Menü-, Symbolleisten- und Statusleistenbereich aushandeln. Alle Ressourcen müssen auf diese Weise entworfen werden. Der Artikel Menüs und Ressourcen: Menüzusammenführung behandelt dieses Thema ausführlich.
Aufgrund dieser Probleme können ole-Dokumentanwendungen, die mit dem Anwendungs-Assistenten erstellt wurden, bis zu vier separate Menüs und Zugriffstastentabellenressourcen aufweisen. Diese werden aus folgenden Gründen verwendet:
Ressourcenname | Verwendung |
---|---|
IDR_MAINFRAME | Wird in einer MDI-Anwendung verwendet, wenn keine Datei geöffnet ist, oder in einer SDI-Anwendung, unabhängig von geöffneten Dateien. Dies ist das Standardmenü, das in Nicht-OLE-Anwendungen verwendet wird. |
<IDR_projektTYP> | Wird in einer MDI-Anwendung verwendet, wenn Dateien geöffnet sind. Wird verwendet, wenn eine Anwendung eigenständig ausgeführt wird. Dies ist das Standardmenü, das in Nicht-OLE-Anwendungen verwendet wird. |
<IDR_projekt-TYPE_SRVR_IP> | Wird vom Server oder Container verwendet, wenn ein Objekt geöffnet ist. |
<IDR_projekt-TYPE_SRVR_EMB> | Wird von einer Serveranwendung verwendet, wenn ein Objekt ohne direkte Aktivierung geöffnet wird. |
Jeder dieser Ressourcennamen stellt ein Menü und in der Regel eine Zugriffstastentabelle dar. Ein ähnliches Schema sollte in MFC-Anwendungen verwendet werden, die nicht mit dem Anwendungs-Assistenten erstellt werden.
In den folgenden Artikeln werden Themen im Zusammenhang mit Containern, Servern und dem Zum Implementieren der direkten Aktivierung erforderlichen Menüzusammenführung behandelt: