在MFC(Microsoft Foundation Classes)中,COleServerItem::m_sizeExtent 是 COleServerItem 类的一个公共数据成员,用于表示 OLE 服务器项的尺寸范围(extent)。该成员变量的类型是 CSize,它通常包含对象的宽度和高度。

m_sizeExtent 在 OLE 服务器项中用于提供对象的默认尺寸信息。这个信息在对象被嵌入到容器应用程序中时很有用,因为容器可能需要知道对象的默认大小以正确地显示或布局对象。

以下是一个简单的示例,展示了如何在派生类中使用 m_sizeExtent:
class CMyOleServerItem : public COleServerItem
{
public:
    // 构造函数等声明

    // 重写 GetExtent 方法以提供对象的默认尺寸
    virtual BOOL GetExtent(LPSIZE lpSize, DWORD dwAspect);
};

BOOL CMyOleServerItem::GetExtent(LPSIZE lpSize, DWORD dwAspect)
{
    if (lpSize == nullptr)
        return FALSE;

    // 使用 m_sizeExtent 提供默认尺寸信息
    *lpSize = m_sizeExtent;

    return TRUE;
}

在这个示例中,CMyOleServerItem 是 COleServerItem 的派生类,它重写了 GetExtent 方法以提供对象的默认尺寸。通常情况下,GetExtent 方法被容器应用程序调用,以获取对象的默认尺寸信息。在这里,我们使用 m_sizeExtent 提供了默认的尺寸信息。

请注意,m_sizeExtent 可以在对象的创建过程中进行设置,以确保对象在嵌入时具有正确的默认尺寸。这通常是在派生类的构造函数中完成的。


转载请注明出处:http://www.zyzy.cn/article/detail/21585/MFC/COleServerItem