|
OBJECTDESCRIPTOR
The OBJECTDESCRIPTOR structure is the data structure used for the CF_OBJECTDESRIPTOR and
CF_LINKSRCDESCRIPTOR file formats. These formats provide user interface information
during data transfer operations, for example, the Paste Special dialog box or
target feedback information during drag and drop operations.
Defined in the IOLETypes pseudo-interface (oletyp.idl).
typedef struct tagOBJECTDESCRIPTOR
{
ULONG cbSize;
CLSID clsid;
DWORD dwDrawAspect;
SIZEL sizel;
POINTL pointl;
DWORD dwStatus;
DWORD dwFullUserTypeName;
DWORD dwSrcOfCopy;
/* variable sized string data may appear here */
} OBJECTDESCRIPTOR;
Members
cbSize
Specifies the size of structure in bytes
clsid
Specifies the CLSID of the object being transferred. The clsid is used to obtain the icon for the Display As Icon option in the Paste
Special dialog box and is applicable only if the Embed Source or Embedded Object
formats are offered. If neither is offered, the value of clsid should be CLSID_NULL. The clsid can be retrieved by the source by loading the object and calling the IOleObject::GetUserClassID method. Note that for link objects, this value is not the same as the value
returned by the IPersist::GetClassID method.
dwDrawAspect
Specifies the display aspect of the object. Typically, this value is
DVASPECT_CONTENT or DVASPECT_ICON. If the source application did not draw the object
originally, the dwDrawAspect field contains a zero value (which is not the same as DVASPECT_CONTENT).
sizel
Specifies the true extents of the object (without cropping or scaling) in
HIMETRIC units. Setting this field is optional. The value can be (0,0) for
applications that do not draw the object being transferred. This field is used
primarily by targets of drag-and-drop operations so they can give appropriate feedback
to the user.
pointl
Specifies the offset in HIMETRIC units from the upper-left corner of the
object where a drag-and-drop operation was initiated. This field is only meaningful
for a drag-and-drop transfer operation since it corresponds to the point where
the mouse was clicked to initiate the drag-and-drop operation. The value is
(0,0) for other transfer situations, such as a Clipboard copy and paste.
dwStatus
Contains a copy of the status flags for the object. These flags are defined by
the OLEMISC enumeration. If an embedded object is being transferred, they are returned by
calling the IOleObject::GetMiscStatus method.
dwFullUserTypeName
Specifies the offset for finding the full user type name of the object being
transferred. It specifies the offset, in bytes, from the beginning of the OBJECTDESCRIPTOR data structure to the null-terminated string that specifies the full user
type name of the object being transferred. The value is zero if the string is not
present. This string is used by the destination of a data transfer to create
labels in the Paste Special dialog box. The destination application must be able
to handle the cases when this string is omitted.
dwSrcOfCopy
Specifies the offset, in bytes, from the beginning of the data structure to
the null-terminated string that specifies the source of the transfer. The dwSrcOfCopy field is typically implemented as the display name of the temporary moniker
that identifies the data source. The value for dwSrcOfCopy is displayed in the Source line of the Paste Special dialog box. A zero value
indicates that the string is not present. If dwSrcOfCopy is zero, the string "Unknown Source" is displayed in the Paste Special dialog
box.
See Also
IDataObject, FORMATETC
Related LinksSoftware for Delphi and C++ Builder developers Software for Visual Studio .NET developers Software for Visual Basic 6 developers Delphi Tips&Tricks
MegaDetailed.NET
TMS Scripter Studio Pro components for Delphi/C++Builder
More Online Helps Win32 Programmer's Reference (win32.hlp) Win32 Multimedia Programmer's Reference (mmedia.hlp) Microsoft Windows Pen API Programmer's Reference (penapi.hlp) Microsoft Windows Sockets 2 Reference (sock2.hlp) Microsoft Windows Telephony API (TAPI) Programmer's Reference (sock2.hlp) Unix Manual Pages
|