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