Função OleDraw (ole2.h)

Habilita objetos de desenho com mais facilidade. Você pode usá-lo em vez de chamar IViewObject::D raw diretamente.

Sintaxe

HRESULT OleDraw(
  [in] LPUNKNOWN pUnknown,
  [in] DWORD     dwAspect,
  [in] HDC       hdcDraw,
  [in] LPCRECT   lprcBounds
);

Parâmetros

[in] pUnknown

Ponteiro para a interface IUnknown no objeto de exibição que deve ser desenhado.

[in] dwAspect

Como o objeto deve ser representado. As representações incluem conteúdo, um ícone, uma miniatura ou um documento impresso. Os valores possíveis são obtidos da enumeração DVASPECT .

[in] hdcDraw

Contexto do dispositivo no qual desenhar. Não pode ser um contexto de dispositivo de metarquivo.

[in] lprcBounds

Ponteiro para uma estrutura RECT que especifica o retângulo no qual o objeto deve ser desenhado. Esse parâmetro é convertido em uma estrutura RECTL e passado para IViewObject::D raw.

Retornar valor

Essa função retorna S_OK com êxito. Outros valores possíveis incluem o seguinte.

Código de retorno Descrição
OLE_E_BLANK
Nenhum dado a ser extraído.
E_ABORT
A operação de desenho foi anulada.
VIEW_E_DRAW
Nenhum dado a ser extraído.
OLE_E_INVALIDRECT
O retângulo é inválido.
E_INVALIDARG
Um ou mais parâmetros são inválidos.
E_OUTOFMEMORY
Memória insuficiente para a operação.
DV_E_NOIVIEWOBJECT
O objeto não dá suporte à interface IViewObject .

Comentários

A função auxiliar OleDraw chama o método QueryInterface para o objeto especificado (pUnk), solicitando uma interface IViewObject nesse objeto. Em seguida, OleDraw converte a estrutura RECT em uma estrutura RECTL e chama IViewObject::D raw da seguinte maneira:

lpViewObj->Draw(dwAspect,-1,0,0,0,hdcDraw,&rectl,0,0,0);

Não use essa função para desenhar em um metarquivo porque ela não especifica o parâmetro necessário para desenhar em metarquivos.

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]
Plataforma de Destino Windows
Cabeçalho ole2.h (inclua Ole2.h)
Biblioteca Ole32.lib
DLL Ole32.dll
Conjunto de APIs ext-ms-win-com-ole32-l1-1-3 (introduzido no Windows 10, versão 10.0.10240)

Confira também

IViewObject::Draw