Estructura OBJECTDESCRIPTOR (oleidl.h)

Representa la estructura de datos utilizada para los formatos de archivo CF_OBJECTDESRIPTOR y CF_LINKSRCDESCRIPTOR. Estos formatos proporcionan información de la interfaz de usuario durante las operaciones de transferencia de datos, por ejemplo, el cuadro de diálogo Pegar especial o la información de comentarios de destino durante las operaciones de arrastrar y colocar.

Sintaxis

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;

Miembros

cbSize

Tamaño de la estructura, en bytes.

clsid

CLSID del objeto que se va a transferir. El clsid se usa para obtener el icono de la opción Mostrar como icono en el cuadro de diálogo Pegar especial y solo se aplica si se ofrecen los formatos Insertar origen o Objeto incrustado. Si no se ofrece ninguno, el valor de clsid debe ser CLSID_NULL. El clsid se puede recuperar mediante el origen cargando el objeto y llamando al método IOleObject::GetUserClassID . Tenga en cuenta que para los objetos link, este valor no es el mismo que el valor devuelto por el método IPersist::GetClassID .

dwDrawAspect

Aspecto para mostrar del objeto. Normalmente, este valor es DVASPECT_CONTENT o DVASPECT_ICON. Si la aplicación de origen no ha dibujado el objeto originalmente, el campo dwDrawAspect contiene un valor cero (que no es el mismo que DVASPECT_CONTENT). Para obtener más información, consulte DVASPECT.

sizel

La verdadera extensión del objeto (sin recortar o escalar) en unidades HIMETRIC . Establecer este campo es opcional. El valor puede ser (0,0) para las aplicaciones que no dibujan el objeto que se transfiere. Este campo se usa principalmente por destinos de operaciones de arrastrar y colocar, por lo que pueden proporcionar comentarios adecuados al usuario.

pointl

Desplazamiento en unidades HIMETRIC desde la esquina superior izquierda del objeto donde se inició una operación de arrastrar y colocar. Este campo solo es significativo para una operación de transferencia de arrastrar y colocar, ya que corresponde al punto en el que se hizo clic en el mouse para iniciar la operación de arrastrar y colocar. El valor es (0,0) para otras situaciones de transferencia, como una copia y pegado del Portapapeles.

dwStatus

Copia de las marcas de estado del objeto . Estas marcas se definen mediante la enumeración OLEMISC . Si se transfiere un objeto incrustado, se devuelven llamando al método IOleObject::GetMiscStatus .

dwFullUserTypeName

Desplazamiento para buscar el nombre de tipo de usuario completo del objeto que se va a transferir. Especifica el desplazamiento, en bytes, desde el principio de la estructura de datos OBJECTDESCRIPTOR a la cadena terminada en null que especifica el nombre de tipo de usuario completo del objeto que se va a transferir. El valor es cero si la cadena no está presente. El destino de una transferencia de datos usa esta cadena para crear etiquetas en el cuadro de diálogo Pegar especial . La aplicación de destino debe ser capaz de controlar los casos en los que se omite esta cadena.

dwSrcOfCopy

Desplazamiento, en bytes, desde el principio de la estructura de datos hasta la cadena terminada en null que especifica el origen de la transferencia. El miembro dwSrcOfCopy se implementa normalmente como el nombre para mostrar del moniker temporal que identifica el origen de datos. El valor de dwSrcOfCopy se muestra en la línea Origen del cuadro de diálogo Pegar especial . Un valor cero indica que la cadena no está presente. Si dwSrcOfCopy es cero, la cadena "Origen desconocido" se muestra en el cuadro de diálogo Pegar especial .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado oleidl.h

Consulte también

FORMATETC

IDataObject