Поделиться через


ATL_DRAWINFO Structure

Содержит сведения, используемые для визуализации к разным целевым объектам, как принтер, метафайл или элемент управления 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; 
};

Члены

  • cbSize
    Размер структуры, в байтах.

  • dwDrawAspect
    Определяет, как целевой объект быть представленным. Представления могут включать содержимое, значок, эскиз или напечатанный документ. Список возможных значений см. в разделе DVASPECT и DVASPECT2.

  • lindex
    Часть целевого объекта, который представляет интерес для операции рисования. Его интерпретация зависит от значения в элементе dwDrawAspect.

  • ptd
    Указатель на структуру DVTARGETDEVICE, которая включает оптимизацию рисования в зависимости от определенного аспекта. Обратите внимание, что новые объекты и контейнеры, оптимизированная поддержка рисования интерфейсы поддерживает этот элемент. Старые объекты и контейнеров, которые не поддерживают оптимизированного рисования интерфейсы всегда определяют NULL для этого элемента.

  • hicTargetDev
    Контекст данных для целевого устройства указал на ptd, из которого объект может извлечь метрики устройства и проверяет возможностей устройства. Если ptdNULL, то объект должен игнорировать значение в элементе hicTargetDev.

  • hdcDraw
    Контекст устройства, на котором выполняется отрисовка. Для безоконного объекта, элемент hdcDraw в MM_TEXT режим сопоставления с его логические координаты соответствующих координатам, содержащий клиентского окна. Кроме того, контекст устройства должен находиться в том же состоянии, что обычно передача сообщением WM_PAINT.

  • prcBounds
    Указатель на структуру RECTL, определяющий прямоугольник в hdcDraw и в том, что объект должен быть рисования. Этот член наблюдает за размещение и растянуть объекта. Этот элемент должен быть NULL для рисования безоконный активный объект в- размещения. В каждой другой ситуации, NULL является недопустимым значением и должно привести к появлению кода ошибки E_INVALIDARG. Если контейнер передает значение, отличное от NULL к безоконному объекта, то объект должен обрабатывать аспект запрошенного задаваемые значения контекста устройства и прямоугольника. Контейнер может запросить это из безоконного объекта для визуализации секунду, представление, отличный от активного объекта или печати объект.

  • prcWBounds
    Если hdcDraw контекст устройства метафайла (см. GetDeviceCaps в Windows SDK), то это указатель на структуру RECTL, задающий ограничивающий прямоугольник в базовом метафайле. Структура прямоугольника содержит область окна и начало координат окна. Эти значения используются для рисования метафайлы. Прямоугольник, показанный prcBounds вложен в этого прямоугольника prcWBounds; они находятся в том же пространстве координат.

  • bOptimize
    Ненулевой если документ является оптимизированным элемента управления; в противном случае – значение 0. Если документ оптимизировать, то состояние контекста устройства автоматически восстановлено после завершения отрисовки.

  • bZoomed
    Ненулевой, если целевой объект имеет коэффициент масштабирования, то в противном случае – значение 0. Коэффициент масштабирования хранится в ZoomNum.

  • bRectInHimetric
    Ненулевой если измерения prcBounds в HIMETRIC, в противном случае – значение 0.

  • ZoomNum
    Ширина и высота прямоугольника, в котором объект визуализации. Коэффициент масштабирования по оси X (пропорции размер объекта естественных в свой текущий объем) целевого объекта значение ZoomNum.cx partitioned значение ZoomDen.cx. Коэффициент масштабирования по оси Y достигнут аналогичным образом.

  • ZoomDen
    Фактическая ширина и высота целевого объекта.

Заметки

Типичное потребление этой структуры будет возвращать сведения во время отрисовки целевого объекта. Например, можно извлечь значения из ATL_DRAWINFO в данной перегрузки CComControlBase::OnDrawAdvanced.

Эта структура содержит нужные сведения, используемые для визуализации представления объекта для целевого устройства. Предоставленные сведения могут использоваться в документе на экране, принтера или даже метафайлу.

Требования

Header: atlctl.h

См. также

Ссылки

IViewObject::Draw

CComControlBase::OnDrawAdvanced

Другие ресурсы

ATL Structures