Sdílet prostřednictvím


Schránka: Přidání dalších formátů

Toto téma vysvětluje, jak rozbalit seznam podporovaných formátů, zejména pro podporu OLE. Téma Schránka: Kopírování a vkládání dat popisuje minimální implementaci potřebnou pro podporu kopírování a vkládání ze schránky. Pokud je to vše, co implementujete, jediné formáty umístěné ve schránce jsou CF_METAFILEPICT, CF_EMBEDSOURCE, CF_OBJECTDESCRIPTOR a případně CF_LINKSOURCE. Většina aplikací bude potřebovat více formátů ve schránce než tyto tři.

Registrace vlastních formátů

Pokud chcete vytvořit vlastní formáty, použijte stejný postup, který byste použili při registraci libovolného vlastního formátu schránky: předejte název formátu funkci RegisterClipboardFormat a jako ID formátu použijte její návratovou hodnotu.

Umístění formátů do schránky

Chcete-li přidat další formáty do těch, které jsou umístěné ve schránce, je nutné přepsat OnGetClipboardData funkci ve třídě, kterou jste odvozeni z nebo COleClientItemCOleServerItem (v závislosti na tom, zda jsou data, která se mají zkopírovat, nativní). V této funkci byste měli použít následující postup.

Umístění formátů do schránky

  1. Vytvoření objektu COleDataSource

  2. Předejte tento zdroj dat funkci, která přidá nativní formáty dat do seznamu podporovaných formátů voláním COleDataSource::CacheGlobalData.

  3. Přidejte standardní formáty voláním COleDataSource::CacheGlobalData pro každý standardní formát, který chcete podporovat.

Tato technika se používá v ukázkovém programu MFC OLE HIERSVR (prozkoumejte OnGetClipboardData členovou funkci CServerItem třídy). Jediným rozdílem v této ukázce je, že krok tři není implementován, protože HIERSVR nepodporuje žádné jiné standardní formáty.

O čem chcete vědět víc

Viz také

Schránka: Použití mechanismu schránky OLE