0

我无法在我的 BHO 中打开一个新的 CAxWindow,我可以看到对“microsoft.com”的请求被触发,但没有显示任何窗口。我尝试了很多不同的方法,这是我的最后一次,有人知道出了什么问题吗?

谢谢。

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);
4

1 回答 1

0

我认为m_axWindow.Create创建一个子窗口。WS_CHILD在那次通话之后检查它的风格。您可能需要先创建一个普通的弹出式顶级窗口,然后CAxWindow使用该弹出式窗口作为父窗口,而不是wndIE. 确保ShowWindow在弹出窗口上也这样做。

于 2013-09-26T16:23:23.653 回答