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.
In diesem Thema wird erläutert, wie Sie die Liste der unterstützten Formate erweitern, insbesondere für die OLE-Unterstützung. Das Thema Zwischenablage: Kopieren und Einfügen von Daten beschreibt die minimale Implementierung, die erforderlich ist, um das Kopieren und Einfügen aus der Zwischenablage zu unterstützen. Wenn Dies alles ist, was Sie implementieren, sind die einzigen Formate, die in der Zwischenablage platziert werden, CF_METAFILEPICT, CF_EMBEDSOURCE, CF_OBJECTDESCRIPTOR und möglicherweise CF_LINKSOURCE. Die meisten Anwendungen benötigen mehr Formate in der Zwischenablage als diese drei.
Registrieren von benutzerdefinierten Formaten
Um eigene benutzerdefinierte Formate zu erstellen, befolgen Sie dasselbe Verfahren, das Sie beim Registrieren eines benutzerdefinierten Zwischenablageformats verwenden würden: Übergeben Sie den Namen des Formats an die RegisterClipboardFormat-Funktion , und verwenden Sie den Rückgabewert als Format-ID.
Formate in der Zwischenablage platzieren
Wenn Sie weitere Formate zu denen in der Zwischenablage platzierten hinzufügen möchten, müssen Sie die OnGetClipboardData-Funktion in der von COleClientItem oder COleServerItem abgeleiteten Klasse überschreiben, je nachdem, ob die zu kopierenden Daten systemeigen sind. In dieser Funktion sollten Sie das folgende Verfahren verwenden.
So platzieren Sie Formate in der Zwischenablage
Erstellen eines
COleDataSource-ObjektsÜbergeben Sie diese Datenquelle an eine Funktion, die die systemeigenen Datenformate zur Liste der unterstützten Formate durch Aufrufen
COleDataSource::CacheGlobalDatahinzufügt.Fügen Sie Standardformate hinzu, indem Sie für jedes Standardformat, das Sie unterstützen möchten, aufrufen
COleDataSource::CacheGlobalData.
Diese Technik wird im MFC OLE-Beispielprogramm HIERSVR verwendet (untersuchen Sie die OnGetClipboardData Memberfunktion der CServerItem-Klasse ). Der einzige Unterschied in diesem Beispiel besteht darin, dass Schritt 3 nicht implementiert wird, da HIERSVR keine anderen Standardformate unterstützt.
Was möchten Sie mehr über
Siehe auch
Zwischenablage: Verwendung des OLE-Zwischenablage-Mechanismus