Megosztás a következőn keresztül:


COleDataObject osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Adattovábbításokhoz használható különböző formátumú adatok lekéréséhez a vágólapról, húzással vagy egy beágyazott OLE-elemből.

Szemantika

class COleDataObject

Tagok

Nyilvános konstruktorok

Név Description
COleDataObject::COleDataObject Egy COleDataObject objektumot hoz létre.

Nyilvános metódusok

Név Description
COleDataObject::Attach Csatolja a megadott OLE-adatobjektumot a COleDataObject.
COleDataObject::AttachClipboard Csatolja a vágólapon található adatobjektumot.
COleDataObject::BeginEnumFormats Egy vagy több későbbi GetNextFormat hívásra készül.
COleDataObject::D etach Leválasztja a társított IDataObject objektumot.
COleDataObject::GetData Adatokat másol a csatolt OLE adatobjektumból egy megadott formátumban.
COleDataObject::GetFileData A csatolt OLE adatobjektum adatainak másolása egy CFile adott formátumban lévő mutatóba.
COleDataObject::GetGlobalData Adatok másolása a csatolt OLE adatobjektumból egy HGLOBAL megadott formátumba.
COleDataObject::GetNextFormat A következő elérhető adatformátumot adja vissza.
COleDataObject::IsDataAvailable Ellenőrzi, hogy az adatok megadott formátumban érhetők-e el.
COleDataObject::Release Leválasztja és felszabadítja a társított IDataObject objektumot.

Megjegyzések

COleDataObject nem rendelkezik alaposztálysal.

Az ilyen típusú adatátvitelek közé tartozik a forrás és a cél. Az adatforrás a COleDataSource osztály objektumaként van implementálva. Amikor egy célalkalmazásban adatokat ejtettek el, vagy a vágólapról kérik a beillesztési műveletet, létre kell hozni az COleDataObject osztály egy objektumát.

Ez az osztály lehetővé teszi annak meghatározását, hogy az adatok megadott formátumban léteznek-e. A rendelkezésre álló adatformátumokat számba is vehet, vagy ellenőrizheti, hogy elérhető-e egy adott formátum, majd lekérheti az adatokat az előnyben részesített formátumban. Az objektumlekérés többféleképpen is elvégezhető, beleértve a CFile, a HGLOBAL vagy a STGMEDIUM struktúra használatát.

További információ: STGMEDIUM struktúra a Windows SDK-ban.

Az adatobjektumok alkalmazásbeli használatáról további információt az Adatobjektumok és adatforrások (OLE) című cikkben talál.

Öröklési hierarchia

COleDataObject

Requirements

Fejléc: afxole.h

COleDataObject::Attach

Hívja meg ezt a függvényt az COleDataObject objektum OLE-adatobjektumhoz való társításához.

void Attach(
    LPDATAOBJECT lpDataObject,
    BOOL bAutoRelease = TRUE);

Paraméterek

lpDataObject
Egy OLE-adatobjektumra mutat.

bAutoRelease
IGAZ, ha az OLE adatobjektumot fel kell szabadítani az COleDataObject objektum megsemmisítésekor, ellenkező esetben HAMIS.

Megjegyzések

További információ: IDataObject a Windows SDK-ban.

COleDataObject::AttachClipboard

Hívja meg ezt a függvényt, hogy csatolja a vágólapon jelenleg található adatobjektumot az COleDataObject objektumhoz.

BOOL AttachClipboard();

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Megjegyzés:

A függvény meghívása zárolja a vágólapot, amíg az adatobjektum fel nem szabadul. Az adatobjektum a destruktorban jelenik meg.COleDataObject További információ: OpenClipboard és CloseClipboard a Win32 dokumentációjában.

COleDataObject::BeginEnumFormats

Hívja meg ezt a függvényt, hogy felkészüljön az GetNextFormat elem adatformátumainak listájának lekérésére irányuló további hívásokra.

void BeginEnumFormats();

Megjegyzések

A hívás BeginEnumFormatsután az adatobjektum által támogatott első formátum helye lesz tárolva. Az egymást követő hívások GetNextFormat számba fogják adni az adatobjektumban elérhető formátumok listáját.

Az adatok adott formátumban való rendelkezésre állásának ellenőrzéséhez használja a COleDataObject::IsDataAvailable parancsot.

További információ: IDataObject::EnumFormatEtc a Windows SDK-ban.

COleDataObject::COleDataObject

Egy COleDataObject objektumot hoz létre.

COleDataObject();

Megjegyzések

A COleDataObject::Attach vagy COleDataObject::AttachClipboard hívását más COleDataObject függvények meghívása előtt kell végrehajtani.

Megjegyzés:

Mivel a húzással és húzással kapcsolatos kezelők egyik paramétere egy mutató COleDataObject, nem kell meghívni ezt a konstruktort a húzás támogatásához.

COleDataObject::D etach

Ennek a függvénynek a meghívásával leválaszthatja az objektumot a COleDataObject társított OLE-adatobjektumról az adatobjektum felszabadítása nélkül.

LPDATAOBJECT Detach();

Visszaadott érték

A leválasztott OLE adatobjektumra mutató mutató.

Megjegyzések

COleDataObject::GetData

Hívja meg ezt a függvényt, hogy adatokat kérjen le az elemből a megadott formátumban.

BOOL GetData(
    CLIPFORMAT cfFormat,
    LPSTGMEDIUM lpStgMedium,
    LPFORMATETC lpFormatEtc = NULL);

Paraméterek

cfFormat
Az a formátum, amelyben az adatokat vissza kell adni. Ez a paraméter lehet az előre definiált vágólapformátumok egyike, vagy a natív Windows RegisterClipboardFormat függvény által visszaadott érték.

lpStgMedium
Olyan STGMEDIUM-struktúrára mutat, amely adatokat fog fogadni.

lpFormatEtc
Egy FORMATETC-struktúrára mutat, amely leírja az adatok visszaadásának formátumát. Adjon meg egy értéket ehhez a paraméterhez, ha a cfFormat által megadott vágólapformátumon túl további formázási információkat szeretne megadni. Null érték esetén a rendszer az alapértelmezett értékeket használja a FORMATETC struktúra többi mezőjéhez.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

További információ: IDataObject::GetData, STGMEDIUM és FORMATETC a Windows SDK-ban.

További információ: RegisterClipboardFormat a Windows SDK-ban.

COleDataObject::GetFileData

Hívja meg ezt a függvényt, hogy hozzon létre egy CFile vagy CFile-származtatott objektumot, és a megadott formátumban kérjen le adatokat egy CFile mutatóba.

CFile* GetFileData(
    CLIPFORMAT cfFormat,
    LPFORMATETC lpFormatEtc = NULL);

Paraméterek

cfFormat
Az a formátum, amelyben az adatokat vissza kell adni. Ez a paraméter lehet az előre definiált vágólapformátumok egyike, vagy a natív Windows RegisterClipboardFormat függvény által visszaadott érték.

lpFormatEtc
Egy FORMATETC-struktúrára mutat, amely leírja az adatok visszaadásának formátumát. Adjon meg egy értéket ehhez a paraméterhez, ha a cfFormat által megadott vágólapformátumon túl további formázási információkat szeretne megadni. Null érték esetén a rendszer az alapértelmezett értékeket használja a FORMATETC struktúra többi mezőjéhez.

Visszaadott érték

Ha sikeres, mutasson az adatokat tartalmazó új CFile vagy CFile-származtatott objektumra, ellenkező esetben NULL értékre.

Megjegyzések

Attól függően, hogy az adatokat milyen adathordozón tárolja a rendszer, a visszatérési érték által mutatott tényleges típus lehet CFile, CSharedFilevagy COleStreamFile.

Megjegyzés:

A CFile függvény visszatérési értéke által elért objektum a hívó tulajdonában van. A hívó feladata az CFile objektumnakdelete, ezáltal a fájl bezárása.

További információ: FORMATETC a Windows SDK-ban.

További információ: RegisterClipboardFormat a Windows SDK-ban.

COleDataObject::GetGlobalData

A függvény meghívásával lefoglalhat egy globális memóriablokkot, és lekérheti a megadott formátumú adatokat egy HGLOBAL-fájlba.

HGLOBAL GetGlobalData(
    CLIPFORMAT cfFormat,
    LPFORMATETC lpFormatEtc = NULL);

Paraméterek

cfFormat
Az a formátum, amelyben az adatokat vissza kell adni. Ez a paraméter lehet az előre definiált vágólapformátumok egyike, vagy a natív Windows RegisterClipboardFormat függvény által visszaadott érték.

lpFormatEtc
Egy FORMATETC-struktúrára mutat, amely leírja az adatok visszaadásának formátumát. Adjon meg egy értéket ehhez a paraméterhez, ha a cfFormat által megadott vágólapformátumon túl további formázási információkat szeretne megadni. Null érték esetén a rendszer az alapértelmezett értékeket használja a FORMATETC struktúra többi mezőjéhez.

Visszaadott érték

Az adatokat tartalmazó globális memóriablokk kezelője, ha sikeres; ellenkező esetben NULL.

Megjegyzések

További információ: FORMATETC a Windows SDK-ban.

További információ: RegisterClipboardFormat a Windows SDK-ban.

COleDataObject::GetNextFormat

Ezt a függvényt többször is meghívhatja az elemből való adatlekéréshez rendelkezésre álló összes formátum lekéréséhez.

BOOL GetNextFormat(LPFORMATETC lpFormatEtc);

Paraméterek

lpFormatEtc
Arra a FORMATETC-struktúrára mutat, amely a függvényhívás visszatérésekor megkapja a formátumadatokat.

Visszaadott érték

Nonzero, ha más formátum is elérhető; egyéb esetben 0.

Megjegyzések

A COleDataObject::BeginEnumFormats hívása után a rendszer az adatobjektum által támogatott első formátum pozícióját tárolja. Az egymást követő hívások GetNextFormat számba fogják adni az adatobjektumban elérhető formátumok listáját. Ezekkel a függvényekkel listázhatja az elérhető formátumokat.

Egy adott formátum elérhetőségének ellenőrzéséhez hívja meg a COleDataObject::IsDataAvailable parancsot.

További információ: IEnumXXXX::Next a Windows SDK-ban.

COleDataObject::IsDataAvailable

Hívja meg ezt a függvényt annak megállapításához, hogy elérhető-e egy adott formátum az adatok OLE-elemből való lekéréséhez.

BOOL IsDataAvailable(
    CLIPFORMAT cfFormat,
    LPFORMATETC lpFormatEtc = NULL);

Paraméterek

cfFormat
Az lpFormatEtc által mutatott struktúrában használandó vágólap adatformátum. Ez a paraméter lehet az előre definiált vágólapformátumok egyike, vagy a natív Windows RegisterClipboardFormat függvény által visszaadott érték.

lpFormatEtc
A kívánt formátumot leíró FORMATETC-struktúrára mutat. Csak akkor adjon meg értéket ehhez a paraméterhez, ha a cfFormat által megadott vágólapformátumon túl további formázási információkat szeretne megadni. Null érték esetén a rendszer az alapértelmezett értékeket használja a FORMATETC struktúra többi mezőjéhez.

Visszaadott érték

Nem kötelező, ha az adatok a megadott formátumban érhetők el; egyéb esetben 0.

Megjegyzések

Ez a függvény a hívás GetDataelőtt hasznos. GetFileDataGetGlobalData

További információ: IDataObject::QueryGetData és FORMATETC a Windows SDK-ban.

További információ: RegisterClipboardFormat a Windows SDK-ban.

Example

Lásd a CRichEditView::QueryAcceptData példát.

COleDataObject::Release

Hívja meg ezt a függvényt az objektumhoz korábban társított IDataObject objektum tulajdonjogának felszabadításához COleDataObject .

void Release();

Megjegyzések

A IDataObject társítás a COleDataObject hívással Attach vagy AttachClipboard explicit módon vagy a keretrendszerrel történt. Ha a bAutoRelease paraméter Attach ÉRTÉKE HAMIS, az IDataObject objektum nem lesz felszabadítva. Ebben az esetben a hívó felelős az IUnknown::Release meghívásával történő kiadásáértIDataObject.

Lásd még

MFC-minta HIERSVR
MFC-minta OCLIENT
hierarchiadiagram
COleDataSource osztály
COleClientItem osztály
COleServerItem osztály