COleDataObject, classe
Utilisée dans les transferts de données pour récupérer des données dans divers formats depuis le Presse-papiers, par glisser-déposer ou depuis un élément OLE incorporé.
Syntaxe
class COleDataObject
Membres
Constructeurs publics
Nom | Description |
---|---|
COleDataObject ::COleDataObject | Construit un objet COleDataObject . |
Méthodes publiques
Nom | Description |
---|---|
COleDataObject ::Attach | Attache l’objet de données OLE spécifié à l’objet COleDataObject . |
COleDataObject ::AttachClipboard | Attache l’objet de données qui se trouve dans le Presse-papiers. |
COleDataObject ::BeginEnumFormats | Prépare un ou plusieurs appels suivants GetNextFormat . |
COleDataObject ::D etach | Détache l’objet associé IDataObject . |
COleDataObject ::GetData | Copie les données de l’objet de données OLE attaché dans un format spécifié. |
COleDataObject ::GetFileData | Copie les données de l’objet de données OLE attaché dans un CFile pointeur au format spécifié. |
COleDataObject ::GetGlobalData | Copie les données de l’objet de données OLE attaché dans un HGLOBAL format spécifié. |
COleDataObject ::GetNextFormat | Retourne le format de données suivant disponible. |
COleDataObject ::IsDataAvailable | Vérifie si les données sont disponibles dans un format spécifié. |
COleDataObject ::Release | Détache et libère l’objet associé IDataObject . |
Notes
COleDataObject
n’a pas de classe de base.
Ces types de transferts de données incluent une source et une destination. La source de données est implémentée en tant qu’objet de la classe COleDataSource . Chaque fois qu’une application de destination a des données supprimées ou qu’elle est invitée à effectuer une opération de collage à partir du Presse-papiers, un objet de la COleDataObject
classe doit être créé.
Cette classe vous permet de déterminer si les données existent dans un format spécifié. Vous pouvez également énumérer les formats de données disponibles ou vérifier si un format donné est disponible, puis récupérer les données dans le format préféré. La récupération d’objets peut être effectuée de plusieurs façons différentes, notamment l’utilisation d’un fichier CFile, d’un HGLOBAL ou d’une STGMEDIUM
structure.
Pour plus d’informations, consultez la structure STGMEDIUM dans le Kit de développement logiciel (SDK) Windows.
Pour plus d’informations sur l’utilisation d’objets de données dans votre application, consultez l’article Objets de données et sources de données (OLE) .
Hiérarchie d'héritage
COleDataObject
Spécifications
En-tête : afxole.h
COleDataObject ::Attach
Appelez cette fonction pour associer l’objet COleDataObject
à un objet de données OLE.
void Attach(
LPDATAOBJECT lpDataObject,
BOOL bAutoRelease = TRUE);
Paramètres
lpDataObject
Pointe vers un objet de données OLE.
bAutoRelease
TRUE si l’objet de données OLE doit être libéré lorsque l’objet COleDataObject
est détruit ; sinon FALSE.
Notes
Pour plus d’informations, consultez IDataObject dans le Kit de développement logiciel (SDK) Windows.
COleDataObject ::AttachClipboard
Appelez cette fonction pour attacher l’objet de données qui se trouve actuellement dans le Presse-papiers à l’objet COleDataObject
.
BOOL AttachClipboard();
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Remarque
L’appel de cette fonction verrouille le Presse-papiers jusqu’à ce que cet objet de données soit libéré. L’objet de données est libéré dans le destructeur pour le COleDataObject
. Pour plus d’informations, consultez OpenClipboard et CloseClipboard dans la documentation Win32.
COleDataObject ::BeginEnumFormats
Appelez cette fonction pour préparer les appels suivants à GetNextFormat
la récupération d’une liste de formats de données à partir de l’élément.
void BeginEnumFormats();
Notes
Après un appel à BeginEnumFormats
, la position du premier format pris en charge par cet objet de données est stockée. Les appels successifs pour GetNextFormat
énumérer la liste des formats disponibles dans l’objet de données.
Pour vérifier la disponibilité des données dans un format donné, utilisez COleDataObject ::IsDataAvailable.
Pour plus d’informations, consultez IDataObject ::EnumFormatEtc dans le Kit de développement logiciel (SDK) Windows.
COleDataObject ::COleDataObject
Construit un objet COleDataObject
.
COleDataObject();
Notes
Un appel à COleDataObject ::Attach ou COleDataObject ::AttachClipboard doit être effectué avant d’appeler d’autres COleDataObject
fonctions.
Remarque
Étant donné qu’un des paramètres des gestionnaires glisser-déplacer est un pointeur vers un COleDataObject
, il n’est pas nécessaire d’appeler ce constructeur pour prendre en charge le glisser-déplacer.
COleDataObject ::D etach
Appelez cette fonction pour détacher l’objet COleDataObject
de son objet de données OLE associé sans libérer l’objet de données.
LPDATAOBJECT Detach();
Valeur de retour
Pointeur vers l’objet de données OLE qui a été détaché.
Notes
COleDataObject ::GetData
Appelez cette fonction pour récupérer des données à partir de l’élément au format spécifié.
BOOL GetData(
CLIPFORMAT cfFormat,
LPSTGMEDIUM lpStgMedium,
LPFORMATETC lpFormatEtc = NULL);
Paramètres
cfFormat
Format dans lequel les données doivent être retournées. Ce paramètre peut être l’un des formats de Presse-papiers prédéfinis ou la valeur retournée par la fonction Windows RegisterClipboardFormat native.
lpStgMedium
Pointe vers une structure STGMEDIUM qui recevra des données.
lpFormatEtc
Pointe vers une structure FORMATETC décrivant le format dans lequel les données doivent être retournées. Fournissez une valeur pour ce paramètre si vous souhaitez spécifier des informations de format supplémentaires au-delà du format Presse-papiers spécifié par cfFormat. S’il s’agit de NULL, les valeurs par défaut sont utilisées pour les autres champs de la FORMATETC
structure.
Valeur de retour
Valeur différente de zéro cas de réussite ; sinon, 0.
Notes
Pour plus d’informations, consultez IDataObject ::GetData, STGMEDIUM et FORMATETC dans le Kit de développement logiciel (SDK) Windows.
Pour plus d’informations, consultez RegisterClipboardFormat dans le Kit de développement logiciel (SDK) Windows.
COleDataObject ::GetFileData
Appelez cette fonction pour créer un CFile
objet ou CFile
dérivé et récupérer des données au format spécifié dans un CFile
pointeur.
CFile* GetFileData(
CLIPFORMAT cfFormat,
LPFORMATETC lpFormatEtc = NULL);
Paramètres
cfFormat
Format dans lequel les données doivent être retournées. Ce paramètre peut être l’un des formats de Presse-papiers prédéfinis ou la valeur retournée par la fonction Windows RegisterClipboardFormat native.
lpFormatEtc
Pointe vers une structure FORMATETC décrivant le format dans lequel les données doivent être retournées. Fournissez une valeur pour ce paramètre si vous souhaitez spécifier des informations de format supplémentaires au-delà du format Presse-papiers spécifié par cfFormat. S’il s’agit de NULL, les valeurs par défaut sont utilisées pour les autres champs de la FORMATETC
structure.
Valeur de retour
Pointeur vers le nouvel CFile
CFile
objet dérivé contenant les données en cas de réussite ; sinon NULL.
Notes
Selon le support dans lequel les données sont stockées, le type réel pointé par la valeur de retour peut être CFile
, CSharedFile
ou COleStreamFile
.
Remarque
L’objet CFile
accessible par la valeur de retour de cette fonction appartient à l’appelant. C’est la responsabilité de l’appelant à delete
l’objet CFile
, fermant ainsi le fichier.
Pour plus d’informations, consultez FORMATETC dans le Kit de développement logiciel (SDK) Windows.
Pour plus d’informations, consultez RegisterClipboardFormat dans le Kit de développement logiciel (SDK) Windows.
COleDataObject ::GetGlobalData
Appelez cette fonction pour allouer un bloc de mémoire global et récupérer des données au format spécifié dans un HGLOBAL.
HGLOBAL GetGlobalData(
CLIPFORMAT cfFormat,
LPFORMATETC lpFormatEtc = NULL);
Paramètres
cfFormat
Format dans lequel les données doivent être retournées. Ce paramètre peut être l’un des formats de Presse-papiers prédéfinis ou la valeur retournée par la fonction Windows RegisterClipboardFormat native.
lpFormatEtc
Pointe vers une structure FORMATETC décrivant le format dans lequel les données doivent être retournées. Fournissez une valeur pour ce paramètre si vous souhaitez spécifier des informations de format supplémentaires au-delà du format Presse-papiers spécifié par cfFormat. S’il s’agit de NULL, les valeurs par défaut sont utilisées pour les autres champs de la FORMATETC
structure.
Valeur de retour
Handle du bloc de mémoire globale contenant les données en cas de réussite ; sinon NULL.
Notes
Pour plus d’informations, consultez FORMATETC dans le Kit de développement logiciel (SDK) Windows.
Pour plus d’informations, consultez RegisterClipboardFormat dans le Kit de développement logiciel (SDK) Windows.
COleDataObject ::GetNextFormat
Appelez cette fonction à plusieurs reprises pour obtenir tous les formats disponibles pour récupérer des données à partir de l’élément.
BOOL GetNextFormat(LPFORMATETC lpFormatEtc);
Paramètres
lpFormatEtc
Pointe vers la structure FORMATETC qui reçoit les informations de format lorsque l’appel de fonction retourne.
Valeur de retour
Différent de zéro si un autre format est disponible ; sinon 0.
Notes
Après un appel à COleDataObject ::BeginEnumFormats, la position du premier format pris en charge par cet objet de données est stockée. Les appels successifs pour GetNextFormat
énumérer la liste des formats disponibles dans l’objet de données. Utilisez ces fonctions pour répertorier les formats disponibles.
Pour vérifier la disponibilité d’un format donné, appelez COleDataObject ::IsDataAvailable.
Pour plus d’informations, consultez IEnumXXXX ::Next dans le Kit de développement logiciel (SDK) Windows.
COleDataObject ::IsDataAvailable
Appelez cette fonction pour déterminer si un format particulier est disponible pour récupérer des données à partir de l’élément OLE.
BOOL IsDataAvailable(
CLIPFORMAT cfFormat,
LPFORMATETC lpFormatEtc = NULL);
Paramètres
cfFormat
Format de données du Presse-papiers à utiliser dans la structure pointée par lpFormatEtc. Ce paramètre peut être l’un des formats de Presse-papiers prédéfinis ou la valeur retournée par la fonction Windows RegisterClipboardFormat native.
lpFormatEtc
Pointe vers une structure FORMATETC décrivant le format souhaité. Fournissez une valeur pour ce paramètre uniquement si vous souhaitez spécifier des informations de format supplémentaires au-delà du format Presse-papiers spécifié par cfFormat. S’il s’agit de NULL, les valeurs par défaut sont utilisées pour les autres champs de la FORMATETC
structure.
Valeur de retour
Différent de zéro si les données sont disponibles au format spécifié ; sinon 0.
Notes
Cette fonction est utile avant d’appeler GetData
, GetFileData
ou GetGlobalData
.
Pour plus d’informations, consultez IDataObject ::QueryGetData et FORMATETC dans le Kit de développement logiciel (SDK) Windows.
Pour plus d’informations, consultez RegisterClipboardFormat dans le Kit de développement logiciel (SDK) Windows.
Exemple
Consultez l’exemple de CRichEditView ::QueryAcceptData.
COleDataObject ::Release
Appelez cette fonction pour libérer la propriété de l’objet IDataObject précédemment associé à l’objet COleDataObject
.
void Release();
Notes
Il IDataObject
a été associé à l’appel COleDataObject
Attach
ou AttachClipboard
explicitement ou à l’infrastructure. Si le paramètre bAutoRelease de Attach
false, l’objet IDataObject
ne sera pas libéré. Dans ce cas, l’appelant est chargé de libérer l’objet IDataObject
en appelant IUnknown ::Release.
Voir aussi
Exemple MFC HIERSVR
Exemple OCLIENT MFC
Graphique hiérarchique
COleDataSource, classe
COleClientItem, classe
COleServerItem, classe