Internet Explorer — создайте CAxWindow внутри BHO (C ++)

У меня проблемы с открытием нового окна CAxWindow в моем BHO, я вижу запрос на «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);

0

Решение

Я думаю m_axWindow.Create создает дочернее окно. Проверьте его стиль для WS_CHILD после этого звонка. Вам, вероятно, нужно сначала создать простое всплывающее окно верхнего уровня, а затем создать CAxWindow используя это всплывающее окно в качестве родителя, а не wndIE, Не забудьте сделать ShowWindow во всплывающем окне тоже.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector