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 |