Classe COleDataObject
Utilizzata nei trasferimenti di dati per il recupero in diversi formati dagli Appunti, mediante il trascinamento della selezione o da un elemento OLE incorporato.
Sintassi
class COleDataObject
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
COleDataObject::COleDataObject | Costruisce un oggetto COleDataObject . |
Metodi pubblici
Nome | Descrizione |
---|---|
COleDataObject::Attach | Associa l'oggetto dati OLE specificato all'oggetto COleDataObject . |
COleDataObject::AttachClipboard | Collega l'oggetto dati presente negli Appunti. |
COleDataObject::BeginEnumFormats | Prepara una o più chiamate successive GetNextFormat . |
COleDataObject::D etach | Scollega l'oggetto associato IDataObject . |
COleDataObject::GetData | Copia i dati dall'oggetto dati OLE associato in un formato specificato. |
COleDataObject::GetFileData | Copia i dati dall'oggetto dati OLE collegato in un CFile puntatore nel formato specificato. |
COleDataObject::GetGlobalData | Copia i dati dall'oggetto dati OLE associato in un HGLOBAL oggetto nel formato specificato. |
COleDataObject::GetNextFormat | Restituisce il formato dati successivo disponibile. |
COleDataObject::IsDataAvailable | Controlla se i dati sono disponibili in un formato specificato. |
COleDataObject::Release | Scollega e rilascia l'oggetto associato IDataObject . |
Osservazioni:
COleDataObject
non dispone di una classe di base.
Questi tipi di trasferimenti di dati includono un'origine e una destinazione. L'origine dati viene implementata come oggetto della classe COleDataSource . Ogni volta che un'applicazione di destinazione contiene dati eliminati o viene chiesto di eseguire un'operazione incolla dagli Appunti, è necessario creare un oggetto della COleDataObject
classe .
Questa classe consente di determinare se i dati esistono in un formato specificato. È anche possibile enumerare i formati di dati disponibili o verificare se un determinato formato è disponibile e quindi recuperare i dati nel formato preferito. Il recupero di oggetti può essere eseguito in diversi modi, tra cui l'uso di un file CFile, un oggetto HGLOBAL o una STGMEDIUM
struttura.
Per altre informazioni, vedere la struttura STGMEDIUM in Windows SDK.
Per altre informazioni sull'uso di oggetti dati nell'applicazione, vedere l'articolo Oggetti dati e origini dati (OLE).
Gerarchia di ereditarietà
COleDataObject
Requisiti
Intestazione: afxole.h
COleDataObject::Attach
Chiamare questa funzione per associare l'oggetto COleDataObject
a un oggetto dati OLE.
void Attach(
LPDATAOBJECT lpDataObject,
BOOL bAutoRelease = TRUE);
Parametri
lpDataObject
Punta a un oggetto dati OLE.
bAutoRelease
TRUE se l'oggetto dati OLE deve essere rilasciato quando l'oggetto COleDataObject
viene eliminato definitivamente; in caso contrario, FALSE.
Osservazioni:
Per altre informazioni, vedere IDataObject in Windows SDK.
COleDataObject::AttachClipboard
Chiamare questa funzione per collegare l'oggetto dati attualmente presente negli Appunti all'oggetto COleDataObject
.
BOOL AttachClipboard();
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Nota
La chiamata a questa funzione blocca gli Appunti fino al rilascio di questo oggetto dati. L'oggetto dati viene rilasciato nel distruttore per .COleDataObject
Per altre informazioni, vedere OpenClipboard e CloseClipboard nella documentazione di Win32.
COleDataObject::BeginEnumFormats
Chiamare questa funzione per preparare le chiamate successive a GetNextFormat
per recuperare un elenco di formati di dati dall'elemento.
void BeginEnumFormats();
Osservazioni:
Dopo una chiamata a BeginEnumFormats
, viene archiviata la posizione del primo formato supportato da questo oggetto dati. Le chiamate successive a GetNextFormat
enumereranno l'elenco dei formati disponibili nell'oggetto dati.
Per verificare la disponibilità dei dati in un determinato formato, usare COleDataObject::IsDataAvailable.
Per altre informazioni, vedere IDataObject::EnumFormatEtc in Windows SDK.
COleDataObject::COleDataObject
Costruisce un oggetto COleDataObject
.
COleDataObject();
Osservazioni:
È necessario effettuare una chiamata a COleDataObject::Attach o COleDataObject::AttachClipboard prima di chiamare altre COleDataObject
funzioni.
Nota
Poiché uno dei parametri per i gestori di trascinamento della selezione è un puntatore a un COleDataObject
oggetto , non è necessario chiamare questo costruttore per supportare il trascinamento della selezione.
COleDataObject::D etach
Chiamare questa funzione per scollegare l'oggetto dall'oggetto COleDataObject
dati OLE associato senza rilasciare l'oggetto dati.
LPDATAOBJECT Detach();
Valore restituito
Puntatore all'oggetto dati OLE scollegato.
Osservazioni:
COleDataObject::GetData
Chiamare questa funzione per recuperare i dati dall'elemento nel formato specificato.
BOOL GetData(
CLIPFORMAT cfFormat,
LPSTGMEDIUM lpStgMedium,
LPFORMATETC lpFormatEtc = NULL);
Parametri
cfFormat
Formato in cui devono essere restituiti i dati. Questo parametro può essere uno dei formati predefiniti degli Appunti o il valore restituito dalla funzione nativa Windows RegisterClipboardFormat .
lpStgMedium
Punta a una struttura STGMEDIUM che riceverà i dati.
lpFormatEtc
Punta a una struttura FORMATETC che descrive il formato in cui devono essere restituiti i dati. Specificare un valore per questo parametro se si desidera specificare informazioni di formato aggiuntive oltre il formato degli Appunti specificato da cfFormat. Se è NULL, vengono usati i valori predefiniti per gli altri campi della FORMATETC
struttura.
Valore restituito
Diverso da zero se ha esito positivo; in caso contrario 0.
Osservazioni:
Per altre informazioni, vedere IDataObject::GetData, STGMEDIUM e FORMATETC in Windows SDK.
Per altre informazioni, vedere RegisterClipboardFormat in Windows SDK.
COleDataObject::GetFileData
Chiamare questa funzione per creare un CFile
oggetto derivato da o CFile
e recuperare i dati nel formato specificato in un CFile
puntatore.
CFile* GetFileData(
CLIPFORMAT cfFormat,
LPFORMATETC lpFormatEtc = NULL);
Parametri
cfFormat
Formato in cui devono essere restituiti i dati. Questo parametro può essere uno dei formati predefiniti degli Appunti o il valore restituito dalla funzione nativa Windows RegisterClipboardFormat .
lpFormatEtc
Punta a una struttura FORMATETC che descrive il formato in cui devono essere restituiti i dati. Specificare un valore per questo parametro se si desidera specificare informazioni di formato aggiuntive oltre il formato degli Appunti specificato da cfFormat. Se è NULL, vengono usati i valori predefiniti per gli altri campi della FORMATETC
struttura.
Valore restituito
Puntatore all'oggetto nuovo CFile
o CFile
derivato da contenente i dati in caso di esito positivo; in caso contrario, NULL.
Osservazioni:
A seconda del supporto in cui vengono archiviati i dati, il tipo effettivo a cui punta il valore restituito può essere CFile
, CSharedFile
o COleStreamFile
.
Nota
L'oggetto CFile
a cui si accede dal valore restituito di questa funzione è di proprietà del chiamante. È responsabilità del chiamante all'oggetto delete
CFile
, chiudendo così il file.
Per altre informazioni, vedere FORMATETC in Windows SDK.
Per altre informazioni, vedere RegisterClipboardFormat in Windows SDK.
COleDataObject::GetGlobalData
Chiamare questa funzione per allocare un blocco di memoria globale e recuperare i dati nel formato specificato in un oggetto HGLOBAL.
HGLOBAL GetGlobalData(
CLIPFORMAT cfFormat,
LPFORMATETC lpFormatEtc = NULL);
Parametri
cfFormat
Formato in cui devono essere restituiti i dati. Questo parametro può essere uno dei formati predefiniti degli Appunti o il valore restituito dalla funzione nativa Windows RegisterClipboardFormat .
lpFormatEtc
Punta a una struttura FORMATETC che descrive il formato in cui devono essere restituiti i dati. Specificare un valore per questo parametro se si desidera specificare informazioni di formato aggiuntive oltre il formato degli Appunti specificato da cfFormat. Se è NULL, vengono usati i valori predefiniti per gli altri campi della FORMATETC
struttura.
Valore restituito
Handle del blocco di memoria globale contenente i dati in caso di esito positivo; in caso contrario NULL.
Osservazioni:
Per altre informazioni, vedere FORMATETC in Windows SDK.
Per altre informazioni, vedere RegisterClipboardFormat in Windows SDK.
COleDataObject::GetNextFormat
Chiamare ripetutamente questa funzione per ottenere tutti i formati disponibili per il recupero dei dati dall'elemento.
BOOL GetNextFormat(LPFORMATETC lpFormatEtc);
Parametri
lpFormatEtc
Punta alla struttura FORMATETC che riceve le informazioni sul formato quando viene restituita la chiamata di funzione.
Valore restituito
Diverso da zero se è disponibile un altro formato; in caso contrario, 0.
Osservazioni:
Dopo una chiamata a COleDataObject::BeginEnumFormats, viene archiviata la posizione del primo formato supportato da questo oggetto dati. Le chiamate successive a GetNextFormat
enumereranno l'elenco dei formati disponibili nell'oggetto dati. Usare queste funzioni per elencare i formati disponibili.
Per verificare la disponibilità di un determinato formato, chiamare COleDataObject::IsDataAvailable.
Per altre informazioni, vedere IEnumXXXX::Next in Windows SDK.
COleDataObject::IsDataAvailable
Chiamare questa funzione per determinare se è disponibile un formato specifico per il recupero dei dati dall'elemento OLE.
BOOL IsDataAvailable(
CLIPFORMAT cfFormat,
LPFORMATETC lpFormatEtc = NULL);
Parametri
cfFormat
Formato dei dati degli Appunti da utilizzare nella struttura a cui punta lpFormatEtc. Questo parametro può essere uno dei formati predefiniti degli Appunti o il valore restituito dalla funzione nativa Windows RegisterClipboardFormat .
lpFormatEtc
Punta a una struttura FORMATETC che descrive il formato desiderato. Specificare un valore per questo parametro solo se si desidera specificare informazioni di formato aggiuntive oltre il formato degli Appunti specificato da cfFormat. Se è NULL, vengono usati i valori predefiniti per gli altri campi della FORMATETC
struttura.
Valore restituito
Diverso da zero se i dati sono disponibili nel formato specificato; in caso contrario, 0.
Osservazioni:
Questa funzione è utile prima di chiamare GetData
, GetFileData
o GetGlobalData
.
Per altre informazioni, vedere IDataObject::QueryGetData e FORMATETC in Windows SDK.
Per altre informazioni, vedere RegisterClipboardFormat in Windows SDK.
Esempio
Vedere l'esempio per CRichEditView::QueryAcceptData.
COleDataObject::Release
Chiamare questa funzione per rilasciare la proprietà dell'oggetto IDataObject precedentemente associato all'oggetto COleDataObject
.
void Release();
Osservazioni:
L'oggetto IDataObject
è stato associato all'oggetto COleDataObject
chiamando Attach
o AttachClipboard
in modo esplicito o in modo esplicito o dal framework. Se il parametro bAutoRelease di Attach
è FALSE, l'oggetto IDataObject
non verrà rilasciato. In questo caso, il chiamante è responsabile del rilascio IDataObject
di chiamando IUnknown::Release.
Vedi anche
HIERSVR di esempio MFC
OCLIENT di esempio MFC
Grafico della gerarchia
Classe COleDataSource
Classe COleClientItem
Classe COleServerItem