2013-09-26 80 views
0

我无法在BHO中打开一个新的CAxWindow,我可以看到“microsoft.com”的请求被触发但没有显示窗口。 我尝试了很多不同的方式,这是我的最后一个,任何人都有线索有什么不对?在BHO中创建一个CAxWindow(C++)

谢谢。

CAxWindow m_axWindow; 
CRect rc; 
HWND wndIE = NULL; 
m_pWebBrowser->get_HWND((SHANDLE_PTR*)&wndIE); 
GetWindowRect(wndIE, &rc); 
CSize sz = CSize(100, 200); 
CRect rcPage = new CRect(10, 10, 10, 10); 
m_axWindow.Create(wndIE, rcPage, _TEXT("http://www.microsoft.com"), WS_POPUP | WS_TABSTOP, 0, 0U, 0); 
HRESULT hRet = m_axWindow.QueryControl(IID_IWebBrowser2, (void**)&m_pWebBrowser); 
+0

我注意到你发布了[另一个BHO问题](http://stackoverflow.com/q/19106095/2674222),所以你解决了这个问题吗?如果是,那么问题是什么,你是如何解决的? – avo

回答

0

我认为m_axWindow.Create创建一个子窗口。那次电话会后,请检查它的样式为WS_CHILD。您可能需要先创建一个普通的弹出式顶级窗口,然后使用该弹出窗口作为父级创建一个CAxWindow,而不是wndIE。请务必在弹出窗口上执行ShowWindow