Estrutura ATL_DRAWINFO
Contém informações usadas para a renderização para vários destinos, sistema autônomo uma impressora, um metarquivo ou um controle ActiveX.
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 dimensionar da estrutura, em bytes.dwDrawAspect
Especifica como o destino deve ser representado.Representações podem incluir conteúdo, um ícone, uma miniatura ou um documento impresso.Para obter uma lista dos valores possíveis, consulte DVASPECT and DVASPECT2.Lindex
Parte do destino de seu interesse para a operação de desenho.Sua interpretação varia de acordo com o valor de dwDrawAspect membro.PTD
Ponteiro para um DVTARGETDEVICE estrutura que permite que otimizações desenho dependendo o aspecto especificado.Observe que novos objetos e contêineres que oferecem suporte a interfaces de desenho otimizadas suportem a este membro sistema autônomo bem.Mais antigos objetos e recipientes que não têm suporte para interfaces de desenho otimizadas sempre especificam NULO para este membro.hicTargetDev
Informações de contexto para o dispositivo de destino apontada por PTD do qual o objeto pode extrair métricas de dispositivo e testar os recursos do dispositivo.If PTD is NULO, o objeto deve ignorar o valor de hicTargetDev membro.hdcDraw
O contexto de dispositivo no qual desenhar.Para um objeto sem janelas, a hdcDraw membro é no MM_TEXT modo de mapeamento com suas coordenadas lógicas correspondente as coordenadas de cliente da janela. Além disso, o contexto de dispositivo deve estar no mesmo estado que normalmente são passados por um WM_PAINT mensagem.prcBounds
Ponteiro para um RECTL estrutura especificando o retângulo em hdcDraw e, em que o objeto deve ser desenhado.Este membro controla o posicionamento e alongamento do objeto.Este membro deve ser NULO para desenhar um objeto de ativo no local sem janelas.Em todas as outras situações, NULO não é um valor válido e deve resultar em um E_INVALIDARG código de erro. Se o contêiner passa um não-NULO valor para um objeto sem janelas, o objeto deve processar o aspecto solicitado para o contexto de dispositivo especificado e o retângulo.Um contêiner pode solicitar isso de um objeto sem janelas para processar uma exibição em segundo lugar, não-ativo do objeto ou para imprimir o objeto.prcWBounds
If hdcDraw é um contexto de dispositivo de metarquivo (consulte GetDeviceCaps in the Windows SDK), este é um ponteiro para um RECTL estrutura especificando o retângulo delimitador no metarquivo subjacente.A estrutura do retângulo contém a extensão da janela e a origem da janela.Esses valores são úteis para desenhar metarquivos.O retângulo indicado por prcBounds está aninhada dentro deste prcWBounds retângulo; estiverem no mesmo espaço de coordenada.bOptimize
Diferente de zero se o desenho do controle é ser otimizado, caso contrário, 0.Se o desenho é otimizado, o estado do contexto de dispositivo é restaurado automaticamente quando tiver terminado de renderização.bZoomed
Diferente de zero se o destino tenha um fator de aplicar aplicar zoom, caso contrário, 0.O fator de aplicar aplicar zoom é armazenado em ZoomNum.bRectInHimetric
Diferente de zero se as dimensões de prcBounds are in HIMETRO, caso contrário, 0.ZoomNum
A largura e altura do retângulo no qual o objeto é renderizado.O fator de aplicar aplicar zoom ao longo do eixo x (a proporção de dimensionar natural do objeto até o dimensionar corrente) do destino é o valor de ZoomNum.cx dividido pelo valor de ZoomDen.cx.O fator de aplicar aplicar zoom ao longo do eixo y é obtido de maneira semelhante.ZoomDen
A largura real e a altura do destino.
Comentários
Uso típico desta estrutura seria a recuperação de informações durante o renderização do objeto de destino.Por exemplo, você poderia recuperar valores de ATL_DRAWINFO dentro de sua sobrecarga do CComControlBase::OnDrawAdvanced.
Essa estrutura armazena as informações usadas para processar a aparência de um objeto para o dispositivo de destino.As informações fornecidas podem ser usadas no desenho da tela, uma impressora ou até mesmo um metarquivo.
Requisitos
Cabeçalho: atlctl.h
Consulte também
Referência
CComControlBase::OnDrawAdvanced