COleControl::OnGetNaturalExtent

virtual BOOL OnGetNaturalExtent( DWORD dwAspect,
                                 LONG lindex,
                                 DVTARGETDEVICE* ptd,
                                 HDC hicTargetDev,
                                 DVEXTENTINFO* pExtentInfo,
                                 LPSIZEL psizel
                               );

返回值:
如果成功返回或调整尺寸,则返回非零值;否则为0。

参数:
dwAspect说明如何表示对象。对象的表示包括内容、一个图表、一个略图或一份打印文档。该参数的有效值取自DVASPECT或DVASPECT2。
lindex对象中有兴趣的部分。目前只有-1是有效的。
ptd一个DVTARGETDEVICE结构的指针,该结构定义了需返回对象尺寸的目标设备。
hicTargetDev指定由ptd指定的目标设备的信息上下文。该参数可以为一个设备上下文,但不是必需的。如果ptd为NULL,hicTargetDev必须为NULL。
pExtentInfo指向DVEXTENTINFO结构的指针,该结构说明了尺寸数据。DVEXTENTINFO结构定义如下:
typedef struct tagExtentInfo
{
  UINT cb;
  DWORD dwExtentMode;
  SIZEL sizelProposed;
} DVEXTENTINFO;
结构成员dwExtentMode可为下列值:
·DVEXTENT_CONTENT计算能恰好放下内容的控件大小。
·DVEXTENT_INTEGRAL当改变尺寸时,向控件传递计划的尺寸。
psizel指向控件返回的尺寸数据。对没有调整的维,则返回的尺寸数据为。

说明:
框架调用以响应一个包容器的IViewObjectEx::GetNaturalExtent请求。
覆盖该函数以在DVEXTENTINFO结构中返回接近于计划尺寸的对象的显示尺寸和范围模式。缺省执行时,该函数返回FALSE,并且不调整尺寸。

请参阅:COleControl::OnGetViewExtent