2013-09-26 3 views
0

У меня возникли проблемы с открытием нового CAxWindow внутри моего BHO, я вижу, что запрос на «microsoft.com» уволен, но окно не отображается. Я пробовал много разных способов, это мой последний, у кого есть ключ, что не так?создать CAxWindow внутри BHO (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.

Смежные вопросы