FORMATETC – struktura
Struktura FORMATETC je generalizovaný formát schránky, vylepšený tak, aby zahrnoval cílové zařízení, aspekt nebo zobrazení dat a úložné médium. Příjemce dat, jako je například aplikace kontejneru OLE, předá FORMATETC strukturu jako argument ve voláních IDataObject k označení typu dat, která chce ze zdroje dat, jako je například složený objekt dokumentu. Zdroj používá strukturu FORMATETC k popisu formátů, které může poskytnout.
FORMATETC může popsat prakticky všechna data, včetně jiných objektů, jako jsou monikers. Kontejner může požádat jeden ze svých vložených objektů, aby vypsal jeho datové formáty voláním IDataObject::EnumFormatEtc, které vrátí enumerátor-objekt, který implementuje rozhraní IEnumFORMATETC. Místo odpovědi pouze na to, že má text a rastrový obrázek, může objekt poskytnout podrobný popis dat, včetně zařízení (normálně obrazovky nebo tiskárny), pro které se vykresluje, aspekt, který se má uživateli prezentovat (celý obsah, miniatura, ikona nebo formátovaný pro tisk) a médiu úložiště obsahující data (globální paměť, disk file, storage object, or stream). Tato schopnost úzce popsat data bude mít za čas vyšší kvalitu tiskárny a výstupu obrazovky a také vyšší efektivitu při procházení dat, kde je načítání a zobrazování miniatur mnohem rychlejší než plně podrobné vykreslování.
V následující tabulce jsou uvedena pole FORMATETC datové struktury a informace, které určují.
Pole | Specifikuje |
---|---|
cfFormat |
Formát, ve kterém se mají data vykreslit, což může být standardní formát schránky, proprietární formát nebo formát OLE. Další informace o formátech OLE naleznete v tématu Složené dokumenty. |
ptd |
Struktura DVTARGETDEVICE, která obsahuje dostatek informací o cílovém zařízení pro Windows, jako je obrazovka nebo tiskárna, aby bylo možné vytvořit popisovač kontextu zařízení (hDC) pomocí funkce CreateDC. |
dwAspect |
Aspekt nebo zobrazení dat, která se mají vykreslit; může být celý obsah, skica miniatury, ikona nebo formátovaný pro tisk. |
lindex |
Část aspektu, který je zajímavý; hodnota musí být -1, což znamená, že celé zobrazení je zajímavé. |
tymed |
Médium úložiště dat, které může být globální paměť, soubor disku nebo instance jednoho z rozhraní strukturovaného úložiště modelu COM. |