Sdílet prostřednictvím


Schránka: Kopírování a vkládání dat

Toto téma popisuje minimální práce nezbytné provést zkopírováním a vložením ze schránky v aplikaci OLE.Je vhodné si přečíst objekty Data a datové zdroje OLE () témata, než budete pokračovat.

Před kopírováním nebo vložením můžete implementovat, je nutné zadat funkce zpracovat možnosti kopírovat, vyjmout a vložit v nabídce Úpravy.

Kopírování nebo vyjmutí dat

Kopírování dat do schránky

  1. Určete, zda data mají být zkopírovány nativní data nebo je vložené nebo propojené položky.

    • Pokud data vložený nebo propojený, získat ukazatel COleClientItem objekt, který byl vybrán.

    • Pokud je nativní data a aplikace je server, vytvořte nový objekt odvozené z COleServerItem obsahující vybraná data.Jinak vytvořte COleDataSource objekt pro data.

  2. Volat vybrané položky CopyToClipboard členské funkce.

  3. Pokud uživatel zvolili operaci vyjmutí místo operace kopírování, odstraňte vybraná data z aplikace.

Příkladem této řady najdete OnEditCut a OnEditCopy funkce v knihovny MFC OLE ukázkové programy OCLIENT a HIERSVR.Všimněte si, že tyto vzorky zachovat ukazatel aktuálně vybraná data, takže krok 1 je již dokončen.

Vkládání dat

Vkládání dat je složitější než kopírování, protože je třeba zvolit formát ve vkládání dat do aplikace.

Chcete-li vložit data ze schránky

  1. V zobrazení třídy, implementovat OnEditPaste ke zpracování uživatelé klepnutím na příkaz Vložit z nabídky Úpravy.

  2. V OnEditPaste funkce, vytvořit COleDataObject objektu a volání jeho AttachClipboard členské funkce pro tento objekt propojit data ve schránce.

  3. Volání COleDataObject::IsDataAvailable Chcete-li zkontrolovat, zda je k dispozici zvláštní formát.

    Alternativně můžete použít COleDataObject::BeginEnumFormats Hledat jiné formáty najděte nejlépe vyhovující vaší aplikace.

  4. Proveďte vložení formátu.

Příklad jak to funguje, naleznete v implementaci OnEditPaste členské funkce v zobrazení tříd definovaných v aplikacích technologie OLE knihovny MFC ukázkové OCLIENT a HIERSVR.

Tip

Hlavní výhodou dělící operace vložení do své vlastní funkce je, že stejný kód vložit lze při přetažení dat ve vaší aplikaci během operace a přetažení.Jako OCLIENT a HIERSVR v OnDrop funkce můžete také volat DoPasteItem, opětovné použití kódu vytvořeného provádět operace vkládání.

Zpracování možnost Vložit jinak v nabídce Úpravy, naleznete v tématu Dialogová okna aplikace OLE.

O čem chcete vědět více?

Viz také

Referenční dokumentace

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