Die FORMATETC-Struktur
Die FORMATETC-Struktur ist ein generalisiertes Zwischenablageformat, das erweitert wurde, um ein Zielgerät, einen Aspekt oder eine Ansicht der Daten und ein Speichermedium zu umfassen. Ein Daten consumer, z. B. eine OLE-Containeranwendung, übergibt die FORMATTC-Struktur als Argument in Aufrufen von IDataObject , um den Typ der Daten anzugeben, die er aus einer Datenquelle benötigt, z. B. ein zusammengesetztes Dokumentobjekt. Die Quelle verwendet die FORMATTC-Struktur , um zu beschreiben, welche Formate sie bereitstellen kann.
FORMATETC kann praktisch alle Daten beschreiben, einschließlich anderer Objekte wie Moniker. Ein Container kann eines seiner eingebetteten Objekte bitten, seine Datenformate aufzulisten, indem er IDataObject::EnumFormatEtc aufruft, wodurch ein Enumeratorobjekt zurückgegeben wird, das die IEnumFORMATETC-Schnittstelle implementiert. Anstatt nur zu antworten, dass es über "Text und eine Bitmap" verfügt, kann das Objekt eine detaillierte Beschreibung der Daten bereitstellen, einschließlich des Geräts (normalerweise Bildschirm oder Drucker), für das es gerendert wird, den Aspekt, der dem Benutzer angezeigt werden soll (vollständiger Inhalt, Miniaturansicht, Symbol oder formatiert für den Druck), und das Speichermedium, das die Daten enthält (globaler Speicher, Datenträgerdatei, Speicherobjekt oder Stream). Diese Möglichkeit, Daten genau zu beschreiben, führt mit der Zeit zu einer höheren Qualität der Drucker- und Bildschirmausgabe sowie zu mehr Effizienz beim Durchsuchen von Daten, bei dem eine Miniaturansichtsskizze viel schneller abgerufen und angezeigt werden kann als ein vollständig detailliertes Rendering.
In der folgenden Tabelle sind Felder der FORMATTC-Datenstruktur und die von ihnen angegebenen Informationen aufgeführt.
Feld | Bedeutung |
---|---|
cfFormat |
Das Format, in dem die Daten gerendert werden sollen, wobei es sich um ein Standard-Zwischenablageformat, ein proprietäres Format oder ein OLE-Format handelt. Weitere Informationen zu OLE-Formaten finden Sie unter Zusammengesetzte Dokumente. |
Ptd |
Eine DVTARGETDEVICE-Struktur , die genügend Informationen über ein Windows-Zielgerät enthält, z. B. einen Bildschirm oder Drucker, damit ein Handle für den Gerätekontext (hDC) mit der CreateDC-Funktion erstellt werden kann. |
Dwaspect |
Der Aspekt oder die Sicht der daten, die gerendert werden sollen; kann der vollständige Inhalt, eine Miniaturansicht, ein Symbol oder für den Druck formatiert sein. |
Lindex |
Der Teil des Aspekts, der von Interesse ist; Für die Gegenwart muss der Wert -1 sein, was angibt, dass die gesamte Ansicht von Interesse ist. |
Tymed |
Das Speichermedium der Daten, bei dem es sich um einen globalen Arbeitsspeicher, eine Datenträgerdatei oder eine instance einer der Strukturierten Speicherschnittstellen von COM handeln kann. |