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
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.
Volat vybrané položky CopyToClipboard členské funkce.
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
V zobrazení třídy, implementovat OnEditPaste ke zpracování uživatelé klepnutím na příkaz Vložit z nabídky Úpravy.
V OnEditPaste funkce, vytvořit COleDataObject objektu a volání jeho AttachClipboard členské funkce pro tento objekt propojit data ve schránce.
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.
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.