Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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