Container: Implementieren eines Containers

In diesem Artikel werden die Durchführungsbestimmungen ein Container zusammen und zeigt Sie zu anderen Artikeln, die detaillierte Erläuterungen zum Implementieren von Containern bilden.Er führt außerdem einige optionale OLE-Funktionen aufgeführt, die Sie implementieren müssen und die Artikel, die diese Funktionen beschreiben.

Um die der CWinApp abgeleitete Klasse vorbereiten

  1. Initialisieren Sie die OLE-Bibliotheken, indem Sie AfxOleInit in der InitInstance-Memberfunktion aufrufen.

  2. Rufen Sie CDocTemplate::SetContainerInfo in InitInstance auf, um das Menü Zugriffstasten zuzuweisen und Ressourcen frei, wenn ein eingebettetes Element direkt aktiviert ist.Weitere Informationen zu diesem Thema finden Sie unter Aktivierung.

Diese Funktionen werden automatisch bereitgestellt, wenn Sie den MFC-Anwendungs-Assistenten können Sie eine Containeranwendung erstellen.Weitere Informationen finden Sie unter Ein Programm MFC EXE erstellen.

Um die Ansichtsklasse vorbereiten

  1. Keep track of die Elemente mithilfe eines Zeigers wartete, oder Liste von Zeigern, wenn Sie eine Mehrfachauswahl unterstützt, den ausgewählten Elemente aus.Die OnDraw-Funktion muss alle OLE-Elemente zeichnen.

  2. Überschreiben Sie IsSelected, um zu überprüfen, ob das Element, das zuvor übergeben wurde, derzeit ausgewählt ist.

  3. Implementieren Sie einen OnInsertObject Meldungshandler Objekt einfügen , um das Dialogfeld anzuzeigen.

  4. Implementieren Sie einen OnSetFocus Meldungshandler, um den Fokus von der Ansicht können direkt zu einem OLE eingebetteten Element zu übertragen.

  5. Implementieren Sie einen OnSize Meldungshandler, um ein OLE eingebettetes Element mitzuteilen, dass er sein Rechteck ändern muss, um die Änderung der enthaltenen Ansicht an Größe zu entsprechen.

Da die Implementierung dieser Funktionen in einer Anwendung dramatisch zum nächsten ist, stellt der Anwendungs-Assistent nur eine grundlegende Implementierung bereit.Sie müssen diese Funktionen wahrscheinlich so anpassen, dass die Anwendung abzurufen, ordnungsgemäß zu funktionieren.Ein Beispiel dafür finden Sie unter CONTAINER Beispiel.

So eingebetteten und verknüpften Elementen des Handles

  1. Leiten Sie eine Klasse von COleClientItem.Objekte dieser Klasse stellen Elemente dar, die in eingebettet wurden oder auf Ihrem OLE-Dokument verknüpft.

  2. Überschreiben OnChange, OnChangeItemPosition und OnGetItemPosition.Diese Funktionen behandeln die Größenanpassung und Positionierung und die eingebetteten und verknüpften Elemente.

Der Anwendungs-Assistent berechnet die Klasse. Sie müssen jedoch wahrscheinlich OnChange und anderen Funktionen überschreiben, die ihm in Schritt 2 der vorherigen Prozedur beschrieben werden.Die Implementierungsskelette müssen für die meisten Anwendungen angepasst werden, da diese Funktionen unterscheidet sich von einer Anwendung zum nächsten implementiert werden.Beispiele finden Sie in der dieses CONTAINER und DRAWCLI MFC-Beispiele.

Sie müssen mehrere Elemente der Menüstruktur der Containeranwendung hinzufügen, um OLE zu unterstützen.Weitere Informationen dazu finden Sie unter Menüs und Ressourcen: Container-Hinzufügungen.

Sie können auch mehrere der folgenden Funktionen in der Containeranwendung unterstützen:

  • Direkte Aktivierung, wenn ein eingebettetes Element bearbeitet wird.

    Weitere Informationen finden Sie unter Aktivierung.

  • Erstellen von OLE-Elementen durch Drag & Drop eine Auswahl aus einer Serveranwendung.

    Weitere Informationen finden Sie unter Drag & Drop (OLE).

  • Links zu eingebetteten Objekten oder Kombinations Dienstcontainer/server-Anwendungen.

    Weitere Informationen finden Sie unter Container: Erweiterte Funktionen.

Siehe auch

Konzepte

Container

Container: Clientelemente