Schránka: Přidání dalších formátů
Toto téma vysvětluje způsob, jak rozbalit seznam podporovaných formátů, zejména pro podporu technologie OLE.Téma Schránka: kopírování a vložit Data popisuje minimální implementaci nutných k podpoře kopírování a vkládání ze schránky.Pokud to je vše, můžete provádět, jsou pouze formáty, které jsou umístěny do schránky CF_METAFILEPICT, CF_EMBEDSOURCE, CF_OBJECTDESCRIPTORa možná i CF_LINKSOURCE.Většina aplikací bude nutné další formáty schránky než tyto tři.
Registrace vlastní formáty.
Chcete-li vytvořit vlastní formáty, postupujte stejně jako byste použili při registraci libovolné vlastní formát schránky: předejte název formát RegisterClipboardFormat fungovat a hodnoty jako formát ID.
Umístění do schránky formáty
Chcete-li přidat další formáty jsou umístěny do schránky, je nutné přepsat OnGetClipboardData funkce ve třídě, která je odvozená z buď COleClientItem nebo COleServerItem (v závislosti na tom, zda je nativní data zkopírovat).Následující postup byste měli použít v této funkci.
Chcete-li umístit formáty do schránky.
Vytvořte objekt COleDataSource.
Tento zdroj dat předat funkci, která přidá seznam podporovaných formátů v nativní datové formáty voláním COleDataSource::CacheGlobalData.
Přidat standardní formáty voláním COleDataSource::CacheGlobalData pro každý standardní formát, který chcete zpřístupnit podporu.
Tato technika se používá v MFC OLE ukázkový program HIERSVR (zkontrolujte OnGetClipboardData členské funkce CServerItem třídy).Jediný rozdíl v tomto příkladu je tento krok tři není implementována, protože žádné standardní formáty podporuje HIERSVR.