Compartilhar via


OleDraw

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função auxiliar oferece uma maneira conveniente para desenhar objetos por encapsular o método IViewObject::Draw e outros relacionado funções manutenção para o retângulo de desenho.

Syntax

WINOLEAPIOleDraw(
  IUnknown* pUnk,
  DWORD dwAspect,
  HDC hdcDraw,
  LPCRECT  lprcBounds
);

Parameters

  • pUnk
    [no] Ponteiro para o IUnknown interface no objeto de exibição a ser desenhado.
  • dwAspect
    [no] Especifica como o objeto deve ser representado.

    Representações incluem o seguinte:

    • Conteúdo
    • Um ícone
    • Uma miniatura
    • Um documento impresso

    Os valores válidos são extraídos de enumeração DVASPECT. Para obter mais informações, consulte DVASPECT.

  • hdcDraw
    [no] Identificador de contexto de dispositivo (DC) na qual desenhar.

    Não pode ser um contexto dispositivo metarquivo.

  • lprcBounds
    [no] Ponteiro longo para um RECT estrutura especificando o retângulo onde o objeto deve ser desenhado.

    Este parâmetro é convertido em um RECTL estrutura e passado para IViewObject::Draw.

Return Value

O seguinte valores HRESULT podem ser retornados.

Valor Descrição

S_OK

Objeto foi desenhado com êxito.

OLE_E_BLANK

Há dados para desenhar a partir.

E_ABORT

A operação desenhar foi anulada.

VIEW_E_DRAW

Ocorreu um erro no desenho.

OLE_E_INVALIDRECT

O retângulo é inválido.

DV_E_NOIVIEWOBJECT

O objeto não suporte a IViewObject interface.

E_INVALIDARG

A função tem falha.

E_OUTOFMEMORY

A função tem falha.

Remarks

Passagem inválido (e, em algumas circunstâncias NULL) ponteiros para essa função faz com que uma terminação inesperada do aplicativo.

O OleDraw Chamadas função de ajuda o Falha de QueryInterface método para o objeto especificado (pUnk), pedindo um IViewObject interface desse objeto. Em seguida, OleDraw Converte o RECT estrutura para um RECTL estrutura e chamadas IViewObject::Draw da seguinte maneira.

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

Não uso OleDraw Para desenhar em um metarquivo porque ele não especificar o lprcWBounds parâmetro exigido para desenho em metarquivos.

Para determinar se a plataforma oferece suporte a essa função, consulte Determinando suporte COM APIs.

Requirements

Header ole2.h
Library ole32.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

Automation Functions
IViewObject::Draw
DVASPECT
IUnknown
DVASPECT
IViewObject
IUnknown::QueryInterface

Concepts

Determining Supported COM APIs

Other Resources