Zwischenablage: Hinzufügen anderer Formate
In diesem Thema wird erläutert, wie die Liste der unterstützten Formaten, besonders für OLE-Unterstützung erweitert. Im Thema Zwischenablage: Kopieren und Einfügen von Daten wird die minimale Implementierung, die erforderlich ist, das Kopieren und Einfügen aus der Zwischenablage zu unterstützen. Wenn dieses alle ist, implementieren Sie, die einzelnen Stile, die in der Zwischenablage abgelegt werden, sind CF_METAFILEPICT, CF_EMBEDSOURCE, CF_OBJECTDESCRIPTOR und möglicherweise CF_LINKSOURCE. Die meisten Anwendungen erfordern mehrere Stile auf die Zwischenablage als diese drei.
Registrieren von Gewohnheits-Formaten
Um eigene Gewohnheitsformate zu erstellen, halten Sie die gleiche Prozedur ein, die Sie verwenden würden wenn jedes benutzerdefinierte Zwischenablageformat registriert wurde: Führen Sie den Namen des Formats der RegisterClipboardFormat-Funktion und verwenden Sie deren Rückgabewert als Format ID
Platzieren von Formaten in der Zwischenablage
Weitere Formate denen hinzuzufügen, die in der Zwischenablage abgelegt werden, müssen Sie die Funktion OnGetClipboardData in der Klasse überschreiben, die Sie entweder von COleClientItem oder von COleServerItem abgeleitet haben (je nachdem ob die Daten ist systemeigen kopiert wird). In dieser Funktion können Sie die folgende Prozedur aus.
Weitere Formate in der Zwischenablage einfügen
Erstellen eines COleDataSource-Objekts
Führen Sie diese Datenquelle mit einer Funktion, die den systemeigenen Datenformaten der Liste der unterstützten Formaten hinzufügen, indem Sie COleDataSource::CacheGlobalData aufrufen.
Fügen Sie Standardformaten hinzu, indem Sie COleDataSource::CacheGlobalData für jedes Standardformat aufrufen, die Sie unterstützen möchten.
Diese Vorgehensweise wird im Beispielprogramm HIERSVR MFC-OLE verwendet (überprüfen Sie die OnGetClipboardData-Memberfunktion der CServerItem-Klasse). Der einzige Unterschied in dieses Beispiels ist, dass Schritt drei nicht implementiert wird, da HIERSVR keine anderen Standardformate unterstützt.