如何动态的创建ActiveX控件? 精华区里应该有的,但是找了半天没找到,麻烦哪位高人指点一点。做好了一个ocx控件,如何在窗口中动态的创建?以及如何发射事件等等。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 去看一下COM的教程吧(书是海了去的),要弄懂这个要很大篇幅,如需要这方面的书请给我留言,只是我不是每天都上网,会拖几天,但我一定会尽快的。 动态创建ocx CComQIPtr<IWebBrowser2> m_spBrowser; CAxWindow content_wnd; ...... if( _tcslen(m_tcHtmlFileName) > 0 ) { RECT rc; GetClientRect( &rc ); if(m_spBrowser==NULL) { LPOLESTR pstrbrowserid; StringFromCLSID(IID_IWebBrowser2,&pstrbrowserid); _bstr_t bstrbrowser(pstrbrowserid); CoTaskMemFree(pstrbrowserid); if(content_wnd.IsWindow()) content_wnd.DestroyWindow(); content_wnd.Create( m_hWnd, rc, LPCTSTR(bstrbrowser), WS_CHILD¦WS_VISIBLE¦WS_HSCROLL¦WS_VSCROLL );//create a browser control HRESULT hrbrowser; hrbrowser = content_wnd.QueryControl( IID_IWebBrowser2, reinterpret_cast<void**>(&m_spBrowser) ); } http://topic.csdn.net/t/20050218/13/3789751.html需要#include <atlbase.h> CComModule _Module; #include <atlcom.h> #include <atlwin.h> #pragma comment(lib,"atl") 不就是和调用一般的COM组件没有多大的区别么 好像不用这么麻烦的。我的控件是用MFC ActiveX Wizard生成的,希望在窗口中动态的创建。但是我调用CreateControl后总是出错。 http://support.microsoft.com/kb/156051/en-us 顶一下。再没人回答,我就要把MSDN看好了,到时候分数只能给自己啦 看了MSDN,感觉挺简单的,咋就是搞不定哩 确定你的activex控件实现了必要的接口. 图像的傅里叶变换 小白问题,关于VS2008的使用 VS2005报错 编译无错 运行有错 在子对话框的属性页中设置变量值,如何传递到父对话框窗口? 如何分辨一个dll是普通的dll还是com的dll?? 简单问题第一个解决马上给全分,关于保存文件的 用了bcgcontrol后,再想使用ado连接数据库会产生错误? 不是抽象类却一直提示不能实例化抽象类 键盘记录,截获wm_keydown的消息,怎么截获长时间按键~~~~ LoadLibrary失败,返回找不到指定模块 如何在应用程序打开时运行初始化的操作?
CComQIPtr<IWebBrowser2> m_spBrowser;
CAxWindow content_wnd;
......
if( _tcslen(m_tcHtmlFileName) > 0 )
{
RECT rc;
GetClientRect( &rc );
if(m_spBrowser==NULL)
{
LPOLESTR pstrbrowserid;
StringFromCLSID(IID_IWebBrowser2,&pstrbrowserid);
_bstr_t bstrbrowser(pstrbrowserid);
CoTaskMemFree(pstrbrowserid);
if(content_wnd.IsWindow())
content_wnd.DestroyWindow();
content_wnd.Create( m_hWnd, rc, LPCTSTR(bstrbrowser), WS_CHILD¦WS_VISIBLE¦WS_HSCROLL¦WS_VSCROLL );//create a browser control
HRESULT hrbrowser;
hrbrowser = content_wnd.QueryControl( IID_IWebBrowser2, reinterpret_cast<void**>(&m_spBrowser) );
}
需要
#include <atlbase.h>
CComModule _Module;
#include <atlcom.h>
#include <atlwin.h>
#pragma comment(lib,"atl")