Estrutura OBJECTDESCRIPTOR (oleidl.h)

Representa a estrutura de dados usada para os formatos de arquivo CF_OBJECTDESRIPTOR e CF_LINKSRCDESCRIPTOR. Esses formatos fornecem informações de interface do usuário durante operações de transferência de dados, por exemplo, a caixa de diálogo Colar Especial ou informações de comentários de destino durante operações de arrastar e soltar.

Sintaxe

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;

Membros

cbSize

O tamanho da estrutura, em bytes.

clsid

O CLSID do objeto que está sendo transferido. O clsid é usado para obter o ícone da opção Exibir como Ícone na caixa de diálogo Colar Especial e é aplicável somente se os formatos Inserir Fonte ou Objeto Inserido forem oferecidos. Se nenhum for oferecido, o valor de clsid deverá ser CLSID_NULL. O clsid pode ser recuperado pela origem carregando o objeto e chamando o método IOleObject::GetUserClassID . Observe que, para objetos de link, esse valor não é o mesmo que o valor retornado pelo método IPersist::GetClassID .

dwDrawAspect

O aspecto de exibição do objeto . Normalmente, esse valor é DVASPECT_CONTENT ou DVASPECT_ICON. Se o aplicativo de origem não desenhou o objeto originalmente, o campo dwDrawAspect conterá um valor zero (que não é o mesmo que DVASPECT_CONTENT). Para obter mais informações, consulte DVASPECT.

sizel

A extensão verdadeira do objeto (sem corte ou dimensionamento) em unidades HIMETRIC . Definir esse campo é opcional. O valor pode ser (0,0) para aplicativos que não desenham o objeto que está sendo transferido. Esse campo é usado principalmente por destinos de operações de arrastar e soltar, para que eles possam fornecer comentários apropriados ao usuário.

pointl

O deslocamento em unidades HIMETRIC do canto superior esquerdo do objeto em que uma operação de arrastar e soltar foi iniciada. Esse campo só é significativo para uma operação de transferência de arrastar e soltar, pois corresponde ao ponto em que o mouse foi clicado para iniciar a operação de arrastar e soltar. O valor é (0,0) para outras situações de transferência, como uma cópia e colagem da área de transferência.

dwStatus

A cópia dos sinalizadores de status para o objeto . Esses sinalizadores são definidos pela enumeração OLEMISC . Se um objeto inserido estiver sendo transferido, ele será retornado chamando o método IOleObject::GetMiscStatus .

dwFullUserTypeName

O deslocamento para localizar o nome de tipo de usuário completo do objeto que está sendo transferido. Ele especifica o deslocamento, em bytes, desde o início da estrutura de dados OBJECTDESCRIPTOR até a cadeia de caracteres terminada em nulo que especifica o nome de tipo de usuário completo do objeto que está sendo transferido. O valor será zero se a cadeia de caracteres não estiver presente. Essa cadeia de caracteres é usada pelo destino de uma transferência de dados para criar rótulos na caixa de diálogo Colar Especial . O aplicativo de destino deve ser capaz de lidar com os casos quando essa cadeia de caracteres é omitida.

dwSrcOfCopy

O deslocamento, em bytes, desde o início da estrutura de dados até a cadeia de caracteres terminada em nulo que especifica a origem da transferência. O membro dwSrcOfCopy normalmente é implementado como o nome de exibição do moniker temporário que identifica a fonte de dados. O valor de dwSrcOfCopy é exibido na linha Origem da caixa de diálogo Colar Especial . Um valor zero indica que a cadeia de caracteres não está presente. Se dwSrcOfCopy for zero, a cadeia de caracteres "Fonte Desconhecida" será exibida na caixa de diálogo Colar Especial .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho oleidl.h

Confira também

FORMATETC

Idataobject