CWnd::CreateControl 是 MFC(Microsoft Foundation Classes)中的一个成员函数,用于创建 ActiveX 控件并将其嵌入到窗口中。这个函数的声明如下:
BOOL CreateControl(
    REFCLSID clsid,
    LPCTSTR pszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL
);

参数说明如下:

  •  clsid: ActiveX 控件的 CLSID(Class ID)。

  •  pszWindowName: 控件的窗口名,可以是控件的类名。

  •  dwStyle: 控件的窗口风格。

  •  rect: 控件的矩形区域。

  •  pParentWnd: 控件的父窗口。

  •  nID: 控件的标识符。

  •  pPersist: 用于加载或保存控件状态的持久性对象(通常为 NULL)。

  •  bStorage: 是否使用存储器对象。

  •  bstrLicKey: 用于控制授权的许可证密钥。


这个函数返回一个布尔值,表示控件是否成功创建。

使用示例:
#include <afxctl.h>

// 在某个 CWnd 派生类的成员函数中调用 CreateControl
void CYourWndClass::CreateMyControl()
{
    // 根据实际情况设置相应的参数
    CLSID clsid = /* 控件的 CLSID */;
    LPCTSTR pszWindowName = /* 控件的窗口名 */;
    DWORD dwStyle = /* 控件的窗口风格 */;
    RECT rect = /* 控件的矩形区域 */;
    CWnd* pParentWnd = /* 控件的父窗口 */;
    UINT nID = /* 控件的标识符 */;

    // 调用 CreateControl 函数
    BOOL bResult = CreateControl(clsid, pszWindowName, dwStyle, rect, pParentWnd, nID);

    if (bResult)
    {
        // 控件成功创建
    }
    else
    {
        // 控件创建失败
    }
}

请注意,需要包含头文件 #include <afxctl.h> 才能使用 CWnd::CreateControl 函数。此外,确保正确设置了控件的 CLSID、窗口名、窗口风格等参数。


转载请注明出处:http://www.pingtaimeng.com/article/detail/23438/MFC/CWnd