Partilhar via


Estrutura de ATL_DRAWINFO

Contém informações usadas para processar vários destinos, como uma impressora, meta-arquivo, 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 tamanho de estrutura, em bytes.

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

  • lindex
    Parte de destino que é de interesse para a operação de desenho. A interpretação varia dependendo do valor do membro de dwDrawAspect .

  • ptd
    Ponteiro a estrutura de DVTARGETDEVICE que permite otimizações de desenho como o aspecto especificado. Observe que objetos mais recentes e contêiner que as interfaces otimizadas suporte de desenho oferecem suporte para esse membro também. Os objetos e um contêiner mais antigos que não suportem interfaces otimizadas de desenho sempre especificam NULO para esse membro.

  • hicTargetDev
    O contexto de informações para o dispositivo de destino apontado por ptd de que o objeto pode extrair métricas de dispositivo e testar os recursos do dispositivo. Se ptd é NULO, o objeto deve ignorar o valor no membro de hicTargetDev .

  • hdcDraw
    O contexto de dispositivo em que a desenhar. Para um objeto sem janelas, o membro de hdcDraw está em MM_TEXT que mapeia o modo com suas coordenadas lógicas correspondente as coordenadas do cliente de janela que a contém. Além de isso, o contexto de dispositivo deve estar no mesmo estado que o passado normalmente por uma mensagem de WM_PAINT .

  • prcBounds
    Ponteiro a estrutura de RECTL que especifica o retângulo em hdcDraw e em que o objeto deve ser desenhado. Esse membro controla o posicionamento e alongar-se do objeto. Esse membro deve ser NULO para desenhar um objeto ativo no local sem janelas. Em cada outra situação, NULO não é um valor válido e deve resultar em um código de erro de E_INVALIDARG . Se o recipiente não passa um valor deNULO a um objeto sem janelas, o objeto deve processar o aspecto aplicativo no contexto e especificados no retângulo de dispositivo. Um contêiner pode solicitar esse de um objeto sem janelas para processar uma segunda exibição, não ativa do objeto ou para imprimir o objeto.

  • prcWBounds
    Se hdcDraw é um contexto do dispositivo de metarquivo (consulte GetDeviceCaps em Windows SDK), este é um ponteiro a estrutura de RECTL que especifica 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 é aninhado dentro de esse retângulo de prcWBounds ; estiverem no mesmo espaço de coordenadas.

  • bOptimize
    Diferente de zero se o desenho do controle deve ser otimizada, se não 0. Se o desenho é otimizado para, o estado do contexto de dispositivo é restaurado automaticamente quando você tiver terminado processamento.

  • bZoomed
    Diferente de zero se o destino tem um fator de zoom, se não 0. O fator de zoom é armazenado em ZoomNum.

  • bRectInHimetric
    Diferente de zero se as dimensões de prcBounds estão em HIMETRIC, se não 0.

  • ZoomNum
    A largura e altura do retângulo em que o objeto é processado. O fator de zoom no eixo x (a proporção de tamanho natural do objeto à sua extensão atual) de destino é o valor de ZoomNum.cx dividido pelo valor de ZoomDen.cx. O fator de zoom no eixo y é obtido de uma maneira semelhante.

  • ZoomDen
    A largura e altura reais de destino.

Comentários

O uso típico de essa estrutura seria a recuperação de informações durante o processamento do objeto alvo. Por exemplo, você pode recuperar valores de ATL_DRAWINFO dentro da sobrecarga de CComControlBase::OnDrawAdvanced.

Essa estrutura armazena informações pertinentes usada para processar a aparência de um objeto para o dispositivo de destino. As informações fornecidas pode ser usada no desenho na tela, em uma impressora, ou até mesmo a meta-arquivo.

Requisitos

Cabeçalho: atlctl.h

Consulte também

Referência

IViewObject::Draw

CComControlBase::OnDrawAdvanced

Outros recursos

Estruturas de ATL