Freigeben über


Zwischenablage: Verwenden des OLE-Zwischenablage-Mechanismus

OLE verwendet und verschiedene Formate OLE-Besondere Standardformate zum Übertragen von Daten durch die Zwischenablage.

Als Sie Kopien von Daten einer Anwendung oder Ausschneiden ausführen, werden die Daten für die später Einfügevorgängen in der Zwischenablage verwendet werden soll.Diese Daten in einer Vielzahl von Formaten.Wenn ein Benutzer beschließt, um Daten aus der Zwischenablage einfügen, kann die Anwendung auswählen, die von diesen Formaten zu verwenden.Die Anwendung sollte geschrieben werden, um das Format auszuwählen, die die meisten Informationen, es sei denn, der Benutzer sich um ein bestimmtes Format anfordert, mit dem Inhalt einfügens bereitstellt.Bevor Sie fortfahren, sollten Sie die Datenobjekte und Datenquellen (OLE) Themen lesen.Sie beschreiben, wie die Grundlagen für Datenübertragungen funktionieren und wie diese in Ihren Anwendungen implementiert.

Windows definiert mehrere Standardformate, die zum Übertragen von Daten durch die Zwischenablage verwendet werden können.Dazu gehören Metadateien, Bitmaps, Text und andere ein.OLE definiert eine Reihe OLE-Besondere auch Formate.Für Anwendungen, die weitere Details als durch diese Standardformate erforderlich ist, empfiehlt es sich, ihre eigenen benutzerdefinierten Zwischenablageformate zu registrieren.Verwenden Sie die Win32 API-Funktion RegisterClipboardFormat.

Registrieren von Microsoft Excel beispielsweise ein benutzerdefiniertes Format für Arbeitsblätter.Dieses Format enthält viele weitere Informationen, wie z. B. eine Bitmap.Wenn diese Daten in eine Anwendung eingefügt wird, die das Arbeitsblatt Format unterstützt, werden alle Formeln und Werte aus dem Arbeitsblatt beibehalten und können bei Bedarf aktualisiert werden.Microsoft Excel macht auch Daten in der Zwischenablage in Formate, damit sie als OLE-Element eingefügt werden kann.Jeder Container OLE-Dokumenten kann diese Informationen als eingebettetes Element einfügen.Dieses Element kann eingebettete Using Microsoft Excel geändert werden.Die Zwischenablage enthält außerdem eine einfache Bitmap des Bilds des ausgewählten Bereichs auf dem Arbeitsblatt.Dies kann in OLE-Dokumenten oder Container in Bitmap-Editoren, z. B. Farbe ebenfalls eingefügt werden.Bei einer Bitmap Allerdings ist es nicht möglich, die Daten in einem Arbeitsblatt bearbeiten.

Um die maximale Menge aus der Zwischenablage abzurufen, sollten Anwendungen für diese benutzerdefinierten Formaten überprüfen, bevor sie Daten aus der Zwischenablage einfügen.

Um beispielsweise den Befehl Ausschneiden zu aktivieren, geschrieben haben Sie möglicherweise einen Handler in etwa dem folgenden Beispiel:

void CMyListView::OnEditCut()
{
   // Create an OLE data source on the heap
   COleDataSource* pData = new COleDataSource;
   // Get the currently selected data
   HGLOBAL hGlob = GlobalAlloc(GMEM_FIXED, 64);
   strcpy_s((char*)hGlob, 64, "Current selection\r\n");
   // For the appropriate data formats...
   pData->CacheGlobalData( CF_TEXT, hGlob );
   // The Clipboard now owns the allocated memory
   // and will delete this data object
   // when new data is put on the Clipboard
   pData->SetClipboard();
}

Worüber möchten Sie mehr erfahren?

Siehe auch

Konzepte

Zwischenablage