在标准控件上添加其它activex控件

来源:互联网 发布:软件推广 编辑:程序博客网 时间:2024/06/06 05:20

方法一:

1,首先在构造函数中输入:m_bWindowOnly = TRUE;这个非常重要,如果没有这句话,则m_hWnd 为NULL;

2, 构造CComQIPtr<>m_pActiveForm对象,并用此对象调用CoCreateInstance函数创建此对象;

3,创建CAxWindow m_ContainedWindow;做为容器窗口

4,在oncreate消息中,创建容器窗口

AtlAxWinInit();
RECT rcClient;
GetClientRect(&rcClient);
m_ContainedWindow.Create(m_hWnd,&rcClient,NULL,WS_CHILD|WS_VISIBLE);

5,随后做以下操作即可

LPUNKNOWN pUnkCont;
m_ContainedWindow.AttachControl(m_pActiveForm, &pUnkCont);

此方法实验过,可行。