WebBrowser控件为啥老是创建失败呢

love_yourlife 2013-03-26 11:54:11
rectClient.bottom=30;
rectClient.left=30;
rectClient.top=30;
rectClient.right=30;
BOOL b = FALSE;
CWnd *wndBrowser=new CWnd;
if ( ( b = wndBrowser->CreateControl(CLSID_WebBrowser, lpszWindowName,
WS_VISIBLE | WS_CHILD , rectClient, this, IDC_BROWSER_CONTROL) ) == FALSE)
{
DestroyWindow();
return FALSE;
}

LPUNKNOWN lpUnk = m_wndBrowser.GetControlUnknown();
HRESULT hr = lpUnk->QueryInterface(IID_IWebBrowser2, (void**) &m_pBrowserApp);
if (!SUCCEEDED(hr))
{
m_pBrowserApp = NULL;
m_wndBrowser.DestroyWindow();
DestroyWindow();
return FALSE;
}

开发环境为:VS2008,不知道为啥CLSID_WebBrowser组件老是创建失败?
即 wndBrowser->CreateControl(CLSID_WebBrowser, lpszWindowName,
WS_VISIBLE | WS_CHILD , rectClient, this, IDC_BROWSER_CONTROL)这句话老是返回FALSE?
哪位大侠可以指点一下吗
...全文
232 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
love_yourlife 2013-03-26
  • 打赏
  • 举报
回复
我自己创建了一个工程,在里面创建 if ( ( b = m_wndBrowser.CreateControl(CLSID_WebBrowser, lpszWindowName, WS_VISIBLE | WS_CHILD , rectClient, this, IDC_BROWSER_CONTROL) ) == FALSE) { DestroyWindow(); return FALSE; } 是可以正确创建的,但我这个工程就是创建不了
love_yourlife 2013-03-26
  • 打赏
  • 举报
回复
改成 rectClient.bottom=300; rectClient.left=30; rectClient.top=30; rectClient.right=300;也不行
无言猪 2013-03-26
  • 打赏
  • 举报
回复
你把rectClient的的right和bottom设来大于30试下,你这个rectClient是个空的矩形嘛.
love_yourlife 2013-03-26
  • 打赏
  • 举报
回复
上面试过了,但是还是不行,源代码是这样的 if (!CView::Create(lpszClassName, lpszWindowName,dwStyle, rect, pParentWnd, nID, pContext)) return FALSE; RECT rectClient; if(g_bMax==1) { rectClient.bottom=30; rectClient.left=30; rectClient.top=30; rectClient.right=30; // create the control window // AFX_IDW_PANE_FIRST is a safe but arbitrary ID BOOL b = FALSE; if ( ( b = m_wndBrowser.CreateControl(CLSID_WebBrowser, lpszWindowName, WS_VISIBLE | WS_CHILD , rectClient, this, IDC_BROWSER_CONTROL) ) == FALSE) { DestroyWindow(); return FALSE; } 大家感觉有啥问题?
ArcRain 2013-03-26
  • 打赏
  • 举报
回复
再补充下,别忘了NEW之后,先创建一个窗口:CWnd *wndBrowser=new CWnd; wndBrowser->Create(...)
ArcRain 2013-03-26
  • 打赏
  • 举报
回复
创建前调用::CoInitialize(NULL)试试。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧