Structure OBJECTDESCRIPTOR (oleidl.h)
Représente la structure de données utilisée pour les formats de fichier CF_OBJECTDESRIPTOR et CF_LINKSRCDESCRIPTOR. Ces formats fournissent des informations sur l’interface utilisateur pendant les opérations de transfert de données, par exemple, la boîte de dialogue Coller spécial ou les informations de commentaires cibles pendant les opérations de glisser-déplacer.
Syntaxe
typedef struct tagOBJECTDESCRIPTOR {
ULONG cbSize;
CLSID clsid;
DWORD dwDrawAspect;
SIZEL sizel;
POINTL pointl;
DWORD dwStatus;
DWORD dwFullUserTypeName;
DWORD dwSrcOfCopy;
} OBJECTDESCRIPTOR, *POBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR, LINKSRCDESCRIPTOR, *PLINKSRCDESCRIPTOR, *LPLINKSRCDESCRIPTOR;
Membres
cbSize
Taille de la structure, en octets.
clsid
CLSID de l’objet en cours de transfert. Le clsid est utilisé pour obtenir l’icône de l’option Afficher en tant qu’icône dans la boîte de dialogue Coller spécial et s’applique uniquement si les formats Source incorporé ou Objet incorporé sont proposés. Si aucun des deux n’est proposé, la valeur de clsid doit être CLSID_NULL. Le clsid peut être récupéré par la source en chargeant l’objet et en appelant la méthode IOleObject ::GetUserClassID . Notez que pour les objets link, cette valeur n’est pas la même que la valeur retournée par la méthode IPersist ::GetClassID .
dwDrawAspect
Aspect d’affichage de l’objet. En règle générale, cette valeur est DVASPECT_CONTENT ou DVASPECT_ICON. Si l’application source n’a pas dessiné l’objet à l’origine, le champ dwDrawAspect contient une valeur zéro (qui n’est pas la même que DVASPECT_CONTENT). Pour plus d’informations, consultez DVASPECT.
sizel
Véritable étendue de l’objet (sans rognage ni mise à l’échelle) en unités HIMETRIC . La définition de ce champ est facultative. La valeur peut être (0,0) pour les applications qui ne dessinent pas l’objet transféré. Ce champ est principalement utilisé par les cibles des opérations de glisser-déplacer, afin qu’elles puissent fournir des commentaires appropriés à l’utilisateur.
pointl
Décalage en unités HIMETRIC à partir de l’angle supérieur gauche de l’objet où une opération glisser-déplacer a été lancée. Ce champ n’est significatif que pour une opération de transfert par glisser-déplacer, car il correspond au point où l’utilisateur a cliqué sur la souris pour lancer l’opération de glisser-déplacer. La valeur est (0,0) pour d’autres situations de transfert, telles qu’un copier-coller du Presse-papiers.
dwStatus
Copie des indicateurs de status pour l’objet . Ces indicateurs sont définis par l’énumération OLEMISC . Si un objet incorporé est transféré, il est retourné en appelant la méthode IOleObject ::GetMiscStatus .
dwFullUserTypeName
Décalage permettant de trouver le nom complet du type d’utilisateur de l’objet transféré. Il spécifie le décalage, en octets, entre le début de la structure de données OBJECTDESCRIPTOR et la chaîne terminée par null qui spécifie le nom de type d’utilisateur complet de l’objet transféré. La valeur est zéro si la chaîne n’est pas présente. Cette chaîne est utilisée par la destination d’un transfert de données pour créer des étiquettes dans la boîte de dialogue Coller spécial . L’application de destination doit être en mesure de gérer les cas où cette chaîne est omise.
dwSrcOfCopy
Décalage, en octets, du début de la structure de données à la chaîne terminée par null qui spécifie la source du transfert. Le membre dwSrcOfCopy est généralement implémenté comme nom d’affichage du moniker temporaire qui identifie la source de données. La valeur de dwSrcOfCopy s’affiche dans la ligne Source de la boîte de dialogue Coller spécial . Une valeur zéro indique que la chaîne n’est pas présente. Si dwSrcOfCopy est égal à zéro, la chaîne « Source inconnue » s’affiche dans la boîte de dialogue Coller spécial .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | oleidl.h |