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
    指定目标如何将表示。 表示可以包括目录,图标,缩略图,或者打印的文档。 有关可能值列表,请参见 DVASPECTDVASPECT2

  • lindex
    是绘制操作的利益目标的部分。 其解释基于 dwDrawAspect 成员的值而异。

  • ptd
    根据指定的这种方式启用绘制优化的 DVTARGETDEVICE 结构的指针。 请注意支持优化绘制的接口的较新的对象和容器支持此成员。 不支持优化绘制的接口的较旧的对象和容器对该成员始终指定 NULL

  • hicTargetDev
    目标设备的信息上下文指向由对象可以提取设备指标的 ptd 和测试工具的功能。 如果 ptdNULL,对象应忽略在 hicTargetDev 成员的值。

  • hdcDraw
    的设备上下文绘制的。 对于无窗口的对象,这些对象是在 MM_TEXT 映射到其逻辑坐标的 hdcDraw 成员模式匹配包含窗口的工作区坐标。 此外,设备上下文应处于状态和 WM_PAINT 消息通常通过所在的同一。

  • prcBounds
    RECTL 结构的指针指定矩形中 hdcDraw 和在哪个绘制对象。 此成员控件定位和拉伸对象。 该成员应是绘制一个无窗口的就地活动对象的 NULL。 在其他情况下,NULL 不是一个合法的值,并且应生成 E_INVALIDARG 错误代码。 如果容器通过非NULL 值传递给无窗口的对象,应呈现请求的方面到指定的设备上下文和矩形。 容器可以请求此从一个无窗口的对象呈现对象的第二个,非活动视图或输出对象。

  • prcWBounds
    如果 hdcDraw 是图元文件设备上下文(参见中 Windows SDK的 GetDeviceCaps ),这是对 RECTL 结构指定边框的某个基础图元文件。 矩形结构包含windows区域和windows原点。 这些值将绘制图元文件非常有用。 prcBounds 表示的矩形嵌套在此 prcWBounds 矩形内部;在相同的坐标空间。

  • bOptimize
    非零,如果控件的绘图进行优化,否则0。 如果绘制了优化,自动还原设备上下文的状态,当您完成呈现时。

  • bZoomed
    非零,如果目标有一个比例因子,否则0。 比例因子在 ZoomNum存储。

  • bRectInHimetric
    非零,则维度 prcBoundsHIMETRIC;否则为0。

  • ZoomNum
    对象呈现矩形的宽度和高度。 沿X轴(对象的原始大小的比例的缩放比例在其当前程度)在目标为 ZoomNum.cx 的值。ZoomDen.cx的值部件。 沿y轴的缩放比例来实现。

  • ZoomDen
    目标的实际宽度和高度。

备注

在呈现目标对象时,此结构典型用法是检索信息。 例如,可以在 CComControlBase::OnDrawAdvanced内对重载的 ATL_DRAWINFO 检索值。

此结构存储用于的相关信息呈现对象的外观目标设备的。 所提供的信息可用于对屏幕、打印机,甚至图元文件的绘图。

要求

Header: atlctl.h

请参见

参考

IViewObject::Draw

CComControlBase::OnDrawAdvanced

其他资源

ATL结构