在 MFC(Microsoft Foundation Classes)中,COleControlContainer 类用于承载 ActiveX 控件(OLE 控件)。COleControlContainer 类的 AttachControlSite 方法是一个公共方法,用于将控件站点(control site)附加到控件容器。

以下是简单的示例代码:
// MyOleControlContainer.h
class CMyOleControlContainer : public COleControlContainer
{
    // ...
public:
    // 示例中使用的方法
    void AttachMyControlSite(CWnd* pParentWnd, UINT nID, LPUNKNOWN pUnkControl);
};

// MyOleControlContainer.cpp
#include "MyOleControlContainer.h"

void CMyOleControlContainer::AttachMyControlSite(CWnd* pParentWnd, UINT nID, LPUNKNOWN pUnkControl)
{
    // 创建控件站点
    COleControlSite* pSite = new COleControlSite(this);

    // 将控件站点附加到父窗口上
    pSite->Attach(pParentWnd, nID);

    // 设置控件站点的控件接口
    pSite->m_pUnknown = pUnkControl;

    // 将控件站点添加到控件容器
    AddControlSite(pSite);
}

在上述示例中,AttachMyControlSite 方法创建了一个新的 COleControlSite 对象,并将其附加到父窗口上。然后,它将控件接口 pUnkControl 分配给控件站点的 m_pUnknown 成员,并将控件站点添加到控件容器中。

这个方法的目的是在使用 COleControlContainer 类时,动态地将控件站点附加到父窗口上。在实际应用中,你可能需要根据你的应用程序的需求进行调整。


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