Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Wordt gebruikt in gegevensoverdrachten voor het ophalen van gegevens in verschillende indelingen vanaf het Klembord, via slepen en neerzetten of vanuit een ingesloten OLE-item.
Syntaxis
class COleDataObject
Leden
Openbare constructors
| Naam | Description |
|---|---|
| COleDataObject::COleDataObject | Maakt een COleDataObject object. |
Openbare methoden
| Naam | Description |
|---|---|
| COleDataObject::Attach | Hiermee wordt het opgegeven OLE-gegevensobject gekoppeld aan het COleDataObject. |
| COleDataObject::AttachClipboard | Hiermee wordt het gegevensobject gekoppeld dat zich op het Klembord bevindt. |
| COleDataObject::BeginEnumFormats | Bereidt zich voor op een of meer volgende GetNextFormat aanroepen. |
| COleDataObject::D etach | Hiermee wordt het bijbehorende object losgekoppeld IDataObject . |
| COleDataObject::GetData | Kopieert gegevens uit het bijgevoegde OLE-gegevensobject in een opgegeven indeling. |
| COleDataObject::GetFileData | Kopieert gegevens van het gekoppelde OLE-gegevensobject naar een CFile aanwijzer in de opgegeven indeling. |
| COleDataObject::GetGlobalData | Kopieert gegevens van het gekoppelde OLE-gegevensobject naar een HGLOBAL in de opgegeven indeling. |
| COleDataObject::GetNextFormat | Retourneert de volgende gegevensindeling die beschikbaar is. |
| COleDataObject::IsDataAvailable | Hiermee wordt gecontroleerd of gegevens beschikbaar zijn in een opgegeven indeling. |
| COleDataObject::Release | Het gekoppelde IDataObject object loskoppelen en loskoppelen. |
Opmerkingen
COleDataObject heeft geen basisklasse.
Dit soort gegevensoverdrachten omvatten een bron en een bestemming. De gegevensbron wordt geïmplementeerd als een object van de klasse COleDataSource . Wanneer een doeltoepassing gegevens bevat die erin zijn verwijderd of wordt gevraagd om een plakbewerking uit te voeren vanaf het Klembord, moet er een object van de COleDataObject klasse worden gemaakt.
Met deze klasse kunt u bepalen of de gegevens bestaan in een opgegeven indeling. U kunt ook de beschikbare gegevensindelingen inventariseren of controleren of een bepaalde indeling beschikbaar is en vervolgens de gegevens in de gewenste indeling ophalen. Het ophalen van objecten kan op verschillende manieren worden uitgevoerd, waaronder het gebruik van een CFile, een HGLOBAL of een STGMEDIUM structuur.
Zie de structuur STGMEDIUM in de Windows SDK voor meer informatie.
Zie het artikel Gegevensobjecten en gegevensbronnen (OLE) voor meer informatie over het gebruik van gegevensobjecten in uw toepassing.
Overnamehiërarchie
COleDataObject
Requirements
Koptekst: afxole.h
COleDataObject::Attach
Roep deze functie aan om het COleDataObject object te koppelen aan een OLE-gegevensobject.
void Attach(
LPDATAOBJECT lpDataObject,
BOOL bAutoRelease = TRUE);
Parameterwaarden
lpDataObject
Verwijst naar een OLE-gegevensobject.
bAutoRelease
WAAR als het OLE-gegevensobject moet worden vrijgegeven wanneer het COleDataObject object wordt vernietigd; anders ONWAAR.
Opmerkingen
Zie IDataObject in de Windows SDK voor meer informatie.
COleDataObject::AttachClipboard
Roep deze functie aan om het gegevensobject dat zich momenteel op het Klembord bevindt, aan het COleDataObject object te koppelen.
BOOL AttachClipboard();
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Opmerking
Als u deze functie aanroept, wordt het Klembord vergrendeld totdat dit gegevensobject wordt vrijgegeven. Het gegevensobject wordt vrijgegeven in de destructor voor de COleDataObject. Zie OpenClipboard en CloseClipboard in de Win32-documentatie voor meer informatie.
COleDataObject::BeginEnumFormats
Roep deze functie aan om de volgende aanroepen voor te GetNextFormat bereiden voor het ophalen van een lijst met gegevensindelingen van het item.
void BeginEnumFormats();
Opmerkingen
Na een aanroep naar BeginEnumFormats, wordt de positie van de eerste indeling die door dit gegevensobject wordt ondersteund, opgeslagen. Opeenvolgende aanroepen om de lijst met beschikbare indelingen in het gegevensobject op te GetNextFormat sommen.
Gebruik COleDataObject::IsDataAvailable om de beschikbaarheid van gegevens in een bepaalde indeling te controleren.
Zie IDataObject::EnumFormatEtc in de Windows SDK voor meer informatie.
COleDataObject::COleDataObject
Maakt een COleDataObject object.
COleDataObject();
Opmerkingen
Een aanroep naar COleDataObject::Attach of COleDataObject::AttachClipboard moet worden uitgevoerd voordat u andere COleDataObject functies aanroept.
Opmerking
Aangezien een van de parameters voor de handlers voor slepen en neerzetten een aanwijzer naar een COleDataObjectis, hoeft u deze constructor niet aan te roepen om slepen en neerzetten te ondersteunen.
COleDataObject::D etach
Roep deze functie aan om het object los te koppelen van het COleDataObject bijbehorende OLE-gegevensobject zonder het gegevensobject vrij te geven.
LPDATAOBJECT Detach();
Retourwaarde
Een aanwijzer naar het OLE-gegevensobject dat is losgekoppeld.
Opmerkingen
COleDataObject::GetData
Roep deze functie aan om gegevens op te halen uit het item in de opgegeven indeling.
BOOL GetData(
CLIPFORMAT cfFormat,
LPSTGMEDIUM lpStgMedium,
LPFORMATETC lpFormatEtc = NULL);
Parameterwaarden
cfFormat
De indeling waarin gegevens moeten worden geretourneerd. Deze parameter kan een van de vooraf gedefinieerde Klembord-indelingen zijn of de waarde die wordt geretourneerd door de systeemeigen windows RegisterClipboardFormat-functie .
lpStgMedium
Verwijst naar een STGMEDIUM-structuur die gegevens ontvangt.
lpFormatEtc
Verwijst naar een FORMATETC-structuur die de indeling beschrijft waarin gegevens moeten worden geretourneerd. Geef een waarde op voor deze parameter als u aanvullende opmaakinformatie wilt opgeven buiten de Indeling van het Klembord die is opgegeven door cfFormat. Als het NULL is, worden de standaardwaarden gebruikt voor de andere velden in de FORMATETC structuur.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Zie IDataObject::GetData, STGMEDIUM en FORMATETC in de Windows SDK voor meer informatie.
Zie RegisterClipboardFormat in de Windows SDK voor meer informatie.
COleDataObject::GetFileData
Roep deze functie aan om een CFile of CFile-afgeleide object te maken en gegevens in de opgegeven indeling op te halen in een CFile aanwijzer.
CFile* GetFileData(
CLIPFORMAT cfFormat,
LPFORMATETC lpFormatEtc = NULL);
Parameterwaarden
cfFormat
De indeling waarin gegevens moeten worden geretourneerd. Deze parameter kan een van de vooraf gedefinieerde Klembord-indelingen zijn of de waarde die wordt geretourneerd door de systeemeigen windows RegisterClipboardFormat-functie .
lpFormatEtc
Verwijst naar een FORMATETC-structuur die de indeling beschrijft waarin gegevens moeten worden geretourneerd. Geef een waarde op voor deze parameter als u aanvullende opmaakinformatie wilt opgeven buiten de Indeling van het Klembord die is opgegeven door cfFormat. Als het NULL is, worden de standaardwaarden gebruikt voor de andere velden in de FORMATETC structuur.
Retourwaarde
Wijs het nieuwe CFile of CFileafgeleide object aan met de gegevens als dit lukt; anders NULL.
Opmerkingen
Afhankelijk van het medium waarin de gegevens worden opgeslagen, kan CFilehet werkelijke type dat door de retourwaarde wordt verwezen, zijn , CSharedFileof COleStreamFile.
Opmerking
Het CFile object dat wordt geopend door de retourwaarde van deze functie, is eigendom van de aanroeper. Het is de verantwoordelijkheid van de aanroeper voor delete het CFile object, waardoor het bestand wordt gesloten.
Zie FORMATETC in de Windows SDK voor meer informatie.
Zie RegisterClipboardFormat in de Windows SDK voor meer informatie.
COleDataObject::GetGlobalData
Roep deze functie aan om een globaal geheugenblok toe te wijzen en om gegevens in de opgegeven indeling op te halen in een HGLOBAL.
HGLOBAL GetGlobalData(
CLIPFORMAT cfFormat,
LPFORMATETC lpFormatEtc = NULL);
Parameterwaarden
cfFormat
De indeling waarin gegevens moeten worden geretourneerd. Deze parameter kan een van de vooraf gedefinieerde Klembord-indelingen zijn of de waarde die wordt geretourneerd door de systeemeigen windows RegisterClipboardFormat-functie .
lpFormatEtc
Verwijst naar een FORMATETC-structuur die de indeling beschrijft waarin gegevens moeten worden geretourneerd. Geef een waarde op voor deze parameter als u aanvullende opmaakinformatie wilt opgeven buiten de Indeling van het Klembord die is opgegeven door cfFormat. Als het NULL is, worden de standaardwaarden gebruikt voor de andere velden in de FORMATETC structuur.
Retourwaarde
De ingang van het globale geheugenblok met de gegevens als dit lukt; anders NULL.
Opmerkingen
Zie FORMATETC in de Windows SDK voor meer informatie.
Zie RegisterClipboardFormat in de Windows SDK voor meer informatie.
COleDataObject::GetNextFormat
Roep deze functie herhaaldelijk aan om alle indelingen te verkrijgen die beschikbaar zijn voor het ophalen van gegevens uit het item.
BOOL GetNextFormat(LPFORMATETC lpFormatEtc);
Parameterwaarden
lpFormatEtc
Verwijst naar de FORMATETC-structuur die de notatiegegevens ontvangt wanneer de functieaanroep terugkeert.
Retourwaarde
Niet-nul als er een andere indeling beschikbaar is; anders 0.
Opmerkingen
Na een aanroep naar COleDataObject::BeginEnumFormats wordt de positie van de eerste indeling die door dit gegevensobject wordt ondersteund, opgeslagen. Opeenvolgende aanroepen om de lijst met beschikbare indelingen in het gegevensobject op te GetNextFormat sommen. Gebruik deze functies om de beschikbare indelingen weer te geven.
Als u wilt controleren op de beschikbaarheid van een bepaalde indeling, roept u COleDataObject::IsDataAvailable aan.
Zie IEnumXXXXXX::Next in de Windows SDK voor meer informatie.
COleDataObject::IsDataAvailable
Roep deze functie aan om te bepalen of een bepaalde indeling beschikbaar is voor het ophalen van gegevens uit het OLE-item.
BOOL IsDataAvailable(
CLIPFORMAT cfFormat,
LPFORMATETC lpFormatEtc = NULL);
Parameterwaarden
cfFormat
De gegevensindeling Klembord die moet worden gebruikt in de structuur die wordt verwezen door lpFormatEtc. Deze parameter kan een van de vooraf gedefinieerde Klembord-indelingen zijn of de waarde die wordt geretourneerd door de systeemeigen windows RegisterClipboardFormat-functie .
lpFormatEtc
Verwijst naar een FORMATETC-structuur die de gewenste indeling beschrijft. Geef alleen een waarde op voor deze parameter als u aanvullende opmaakinformatie wilt opgeven buiten de indeling van het Klembord die is opgegeven door cfFormat. Als het NULL is, worden de standaardwaarden gebruikt voor de andere velden in de FORMATETC structuur.
Retourwaarde
Niet-nul als gegevens beschikbaar zijn in de opgegeven indeling; anders 0.
Opmerkingen
Deze functie is handig voordat u aanroept GetData, GetFileDataof GetGlobalData.
Zie IDataObject::QueryGetData en FORMATETC in de Windows SDK voor meer informatie.
Zie RegisterClipboardFormat in de Windows SDK voor meer informatie.
Example
Zie het voorbeeld voor CRichEditView::QueryAcceptData.
COleDataObject::Release
Roep deze functie aan om het eigendom van het IDataObject-object vrij te geven dat eerder aan het COleDataObject object was gekoppeld.
void Release();
Opmerkingen
De IDataObject is gekoppeld aan het COleDataObject aanroepen Attach of expliciet of AttachClipboard door het framework. Als de parameter AttachbAutoRelease FALSE is, wordt het IDataObject object niet vrijgegeven. In dit geval is de beller verantwoordelijk voor het vrijgeven van de IDataObject beller door IUnknown::Release aan te roepen.
Zie ook
MFC-voorbeeld HIERSVR
MFC-voorbeeld-OCLIENT
Hiërarchiegrafiek
COleDataSource-klasse
COleClientItem-klasse
COleServerItem-klasse