Partilhar via


ATL_DRAWINFO Estrutura

Observação

A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Contém informação usada para renderização em vários alvos, como uma impressora, metaficheiro ou controlo ActiveX.

Sintaxe

struct ATL_DRAWINFO {
    UINT cbSize;
    DWORD dwDrawAspect;
    LONG lindex;
    DVTARGETDEVICE* ptd;
    HDC hicTargetDev;
    HDC hdcDraw;
    LPCRECTL prcBounds;
    LPCRECTL prcWBounds;
    BOOL bOptimize;
    BOOL bZoomed;
    BOOL bRectInHimetric;
    SIZEL ZoomNum;
    SIZEL ZoomDen;
};

Membros

cbSize
O tamanho da estrutura, em bytes.

dwDrawAspect
Especifica como o alvo deve ser representado. As representações podem incluir conteúdo, um ícone, uma miniatura ou um documento impresso. Para uma lista de valores possíveis, veja DVASPECT e DVASPECT2.

lindex
Parte do alvo que é de interesse para a operação de sorteio. A sua interpretação varia consoante o valor do dwDrawAspect membro.

ptd
Apontador para uma estrutura DVTARGETDEVICE que permite otimizações de desenho dependendo do aspeto especificado. Note que objetos e contentores mais recentes que suportam interfaces de desenho otimizadas também suportam este membro. Objetos e contentores mais antigos que não suportam interfaces de desenho otimizadas especificam sempre NULL para este membro.

hicTargetDev
Contexto de informação para o dispositivo alvo apontado por ptd onde o objeto pode extrair métricas do dispositivo e testar as capacidades do dispositivo. Se ptd for NULL, o objeto deve ignorar o valor no hicTargetDev membro.

hdcDraw
O contexto do dispositivo em que se deve desenhar. Para um objeto sem janelas, o hdcDraw elemento está em MM_TEXT modo de mapeamento com as suas coordenadas lógicas a corresponderem às coordenadas do cliente da janela que a contém. Além disso, o contexto do dispositivo deve estar no mesmo estado que o que normalmente passa por uma WM_PAINT mensagem.

prcBounds
Ponteiro para uma estrutura RECTL que especifica o retângulo em hdcDraw e onde o objeto deve ser desenhado. Este elemento controla a posição e o alongamento do objeto. Este membro deve ser NULL para desenhar um objeto ativo in-place sem janelas. Em todas as outras situações, NULL não é um valor legal e deve resultar num E_INVALIDARG código de erro. Se o contentor passar um valor não-NULL para um objeto sem janelas, o objeto deve renderizar o aspeto solicitado no contexto e retângulo especificados do dispositivo. Um contentor pode pedir isto a um objeto sem janelas para renderizar uma segunda vista não ativa do objeto ou para imprimir o objeto.

prcWBounds
Se hdcDraw for um contexto de dispositivo de metaficheiro (ver GetDeviceCaps no SDK do Windows), isto é um ponteiro para uma RECTL estrutura que especifica o retângulo delimitador no metaficheiro subjacente. A estrutura retangular contém a extensão da janela e a origem da janela. Estes valores são úteis para desenhar metaficheiros. O retângulo indicado por prcBounds está aninhado dentro deste prcWBounds retângulo; estão no mesmo espaço de coordenadas.

bOptimize
Não nulo se o desenho do controlo for otimizado, caso contrário 0. Se o desenho estiver otimizado, o estado do contexto do dispositivo é automaticamente restaurado quando terminas de renderizar.

bZoomed
Não nulo se o alvo tiver fator de zoom, caso contrário 0. O fator de zoom é armazenado em ZoomNum.

bRectInHimetric
Não nulas se as dimensões de prcBounds forem em HIMETRIC, caso contrário 0.

ZoomNum
A largura e altura do retângulo em que o objeto é renderizado. O fator de zoom ao longo do eixo x (a proporção do tamanho natural do objeto para a sua extensão atual) do alvo é o valor de ZoomNum.cx dividido pelo valor de ZoomDen.cx. O fator de zoom ao longo do eixo y é alcançado de forma semelhante.

ZoomDen
A largura e altura reais do alvo.

Observações

A utilização típica desta estrutura seria a recuperação de informação durante a renderização do objeto alvo. Por exemplo, podes recuperar valores de ATL_DRAWINFO dentro do teu overload de CComControlBase::OnDrawAdvanced.

Esta estrutura armazena informação pertinente usada para representar a aparência de um objeto para o dispositivo alvo. A informação fornecida pode ser usada no desenho para o ecrã, numa impressora ou até num metaficheiro.

Requerimentos

Cabeçalho: atlctl.h

Consulte também

Classes e estruturas
IViewObject::D raw
CComControlBase::OnDrawAdvanced