Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Thema beschreibt die minimale Arbeit, die erforderlich ist, um das Kopieren und Einfügen aus der Zwischenablage in der OLE-Anwendung zu implementieren.Es wird empfohlen, dass Sie die Datenobjekte und Datenquellen (OLE) Themen lesen, bevor Sie fortfuhren.
Bevor Sie entweder das Kopieren bzw. Einfügen implementieren können, müssen Sie zuerst Funktionen bereitstellen, indem Sie die Kopie bearbeitet werden, die aus, und schnitten Optionen im Menü Bearbeiten auf Einfügen.
Kopieren oder Schnittparameter
So fügen Sie Daten in die Zwischenablage kopieren
Bestimmen, ob die Daten sind systemeigene Daten oder ist ein verknüpftes oder eingebettetes Element kopiert wird.
Wenn die Daten eingebettet oder verknüpft ist, erhalten einen Zeiger auf den COleClientItem-Objekt, das ausgewählt wurde.
Wenn die Daten systemeigen ist und die Anwendung ein Server ist, erstellen Sie ein neues Objekt, das von COleServerItem abgeleitet wurde, die die ausgewählten Daten enthält.Andernfalls erstellen Sie ein COleDataSource-Objekt für die Daten.
Rufen Sie die ausgewählten CopyToClipboard-Memberfunktion des Elements an.
Wenn der Benutzer einen Operation Ausschneiden anstelle eines Kopiervorgangs ausgewählt hat, löschen Sie die ausgewählten Daten aus der Anwendung.
Um ein Beispiel der Sequenz anzuzeigen und OnEditCut finden Sie in der OnEditCopy-Funktionen in den OCLIENT Beispielprogramme verwenden und HIERSVR MFC OLE.Beachten Sie, dass diese Beispiele einen Zeiger auf den aktuell ausgewählten Daten verwalten. Dies ist Schritt 1 bereits abgeschlossen.
Einfügen von Daten
Einfügen von Daten ist komplizierter als sie kopiert werden, da Sie den Stil auswählen müssen, mit denen Sie die Daten in die Anwendung einfügen.
So rufen Sie Daten aus der Zwischenablage einfügen
In der Ansichtsklasse OnEditPaste implementieren, um Benutzern zu behandeln, welche die Option Einfügen im Menü Bearbeiten auswählen.
In der OnEditPaste-Funktion erstellen Sie ein COleDataObject-Objekt und rufen Sie die AttachClipboard-Memberfunktion auf, um dieses Objekt in den Daten in der Zwischenablage zu verknüpfen.
Rufen Sie COleDataObject::IsDataAvailable an, um zu überprüfen, ob ein bestimmtes Format verfügbar sind.
Wahlweise können Sie COleDataObject::BeginEnumFormats verwenden, um nach anderen Formaten zu suchen, bis Sie einen höchst finden, das für die Anwendung geeignet ist.
Führen Sie das Einfügen des Formats aus.
Ein Beispiel dafür, wie dies funktioniert, finden Sie in der Implementierung der OnEditPaste Ansichtsklassen in den Memberfunktionen, die in den OCLIENT Beispielprogramme verwenden und HIERSVR MFC OLE definiert sind.
Tipp |
|---|
Der Hauptvorteil des Trennens des Einfügevorgangs in seine eigene Funktion besteht darin, dass der gleiche Einfügen von Code verwendet werden kann, wenn Daten in der Anwendung bei einem Drag & Drop-Vorgang abgelegt wird.Wie in OCLIENT und in HIERSVR, kann die OnDrop-Funktion DoPasteItem aufrufen und den Code zum Implementieren der Wiederverwenden Einfügevorgängen geschrieben werden soll. |
Um den Inhalt im Menü Bearbeiten auf einfügen-Option zu behandeln, finden Sie im Thema OLE in Dialogfeldern.
Worüber möchten Sie mehr erfahren?
Siehe auch
Referenz
Zwischenablage: Verwenden des OLE-Zwischenablage-Mechanismus
Tipp