Compartir a través de


ATL_DRAWINFO (estructura)

Contiene información que se usa para la representación en varios destinos, como una impresora, un metarchivo o un control ActiveX.

Sintaxis

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;
};

Miembros

cbSize
El tamaño de la estructura en bytes.

dwDrawAspect
Especifica cómo se va a representar el objeto. Las representaciones pueden incluir contenido, un icono, una miniatura o un documento impreso. Para obtener una lista de valores posibles, consulte DVASPECT y DVASPECT2.

lindex
Parte del destino que es de interés para la operación de dibujo. Su interpretación varía en función del valor del miembro dwDrawAspect.

ptd
Puntero a una estructura DVTARGETDEVICE que permite optimizaciones de dibujo en función del aspecto especificado. Tenga en cuenta que los objetos y contenedores más recientes que admiten interfaces de dibujo optimizadas también admiten este miembro. Los objetos y contenedores antiguos que no admiten interfaces de dibujo optimizadas siempre especifican null para este miembro.

hicTargetDev
Contexto de información para el dispositivo de destino indicado por el parámetro ptd del que el objeto puede extraer las métricas del dispositivo y probar las funcionalidades del dispositivo. Si ptd es null, el objeto debe omitir el valor del miembro hicTargetDev.

hdcDraw
Contexto de dispositivo en el que se va a dibujar. Para un objeto sin ventana, el miembro hdcDraw está en el modo de asignación MM_TEXT con sus coordenadas lógicas que coinciden con las coordenadas de cliente de la ventana contenedora. Además, el contexto del dispositivo debe estar en el mismo estado que el pasado normalmente por un mensaje WM_PAINT.

prcBounds
Puntero a una estructura RECTL que especifica el rectángulo en hdcDraw y en el que se debe dibujar el objeto. Este miembro controla el posicionamiento y el ajuste del objeto. Este miembro debe ser null para dibujar un objeto activo en contexto sin ventanas. En cualquier otra situación, null no es un valor legal y debe dar lugar a un código de error E_INVALIDARG. Si el contenedor pasa un valor distinto de null a un objeto sin ventanas, el objeto debe representar el aspecto solicitado en el contexto de dispositivo y el rectángulo especificados. Un contenedor puede solicitarlo desde un objeto sin ventana para representar una segunda vista no activa del objeto o para imprimir el objeto.

prcWBounds
Si hdcDraw es un contexto de dispositivo de metarchivo (consulte GetDeviceCaps en Windows SDK), se trata de un puntero a una estructura RECTL que especifica el rectángulo delimitador en el metarchivo subyacente. La estructura del rectángulo contiene la extensión de la ventana y el origen de la ventana. Estos valores son útiles para dibujar metarchivos. El rectángulo indicado por prcBounds está anidado dentro de este rectángulo prcWBounds; están en el mismo espacio de coordenadas.

bOptimize
Distinto de cero si se va a optimizar el dibujo del control; de lo contrario, 0. Si el dibujo está optimizado, el estado del contexto del dispositivo se restaura automáticamente cuando haya terminado de representarse.

bZoomed
Distinto de cero si el destino tiene un factor de zoom; de lo contrario, 0. El factor de zoom se almacena en ZoomNum.

bRectInHimetric
Distinto de cero si las dimensiones de prcBounds están en HIMETRIC; de lo contrario, 0.

ZoomNum
Ancho y alto del rectángulo en el que se representa el objeto. El factor de zoom a lo largo del eje X (la proporción del tamaño natural del objeto en su extensión actual) del destino es el valor de ZoomNum.cx dividido por el valor de ZoomDen.cx. El factor de zoom a lo largo del eje Y se logra de forma similar.

ZoomDen
Ancho y alto reales del destino.

Comentarios

El uso típico de esta estructura sería la recuperación de información durante la representación del objeto de destino. Por ejemplo, podría recuperar valores de ATL_DRAWINFO dentro de la sobrecarga de CComControlBase::OnDrawAdvanced.

Esta estructura almacena información pertinente utilizada para representar la apariencia de un objeto para el dispositivo de destino. La información proporcionada se puede usar en el dibujo en la pantalla, una impresora o incluso un metarchivo.

Requisitos

Encabezado: atlctl.h

Consulte también

Clases y estructuras
IViewObject::Draw
CComControlBase::OnDrawAdvanced