Итак, маленькое предысловие : я думаю наверное многие знают о таком альтернативном броузере MyIE, постороенном на базе Internet Explorer-a .. Его сорсы доступны в инете .. Ну и у меня возникла задача использовать идеи которые там есть, с добавлением новых вещей.. Я начал создавать проект под 2003 студией ... Дошел до первого теста ( проект на MDI ) — в CChildFrame должен был появится экземпляр моей вьюшки основанной на CWebBrowser2 ... Он не появился .. Когда я под Debug смотрел — понял , не создается :
1)
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (!AfxOleInit())
{
TRACE("Fail in OLE initialating\n");// не проходит во первых инициализация в 2003 ( в VC6 - всё ок !!! )
}
....................
2)
BOOL CWebHtmlView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
try
{
if (!CView::Create(lpszClassName, lpszWindowName,
dwStyle, rect, pParentWnd, nID, pContext))
{
return FALSE;
}
RECT rectClient;
{
::GetClientRect(pMainFrame->m_hWndMDIClient, &rectClient);
rectClient.top -= 2;
rectClient.left -= 2;
rectClient.bottom += 2;
rectClient.right += 2;
}
if(!m_wndBrowser.Create ("Browser", WS_VISIBLE|WS_CHILD|WS_TABSTOP, rectClient, this, IDC_BROWSER_CONTROL))
{
DestroyWindow();
return FALSE; // при создании попадаем сюда в 2003 студии ( в VC6 - всё ок !!! )
}
}
catch(...)
{
}
return TRUE;
}
Как я предполагаю может быть в 2003 студии иначе происходить должна инициализация ATL ? Или ещё что-то ?
Вообщем когда все проходит хорошо в VC6 — появляется основное окошко с дитем и у обоих в TitleBar — "about:blank" !!!
Как решить эту проблему в 2003 студии ????
Примерчик вот, прилагаю !
http://ivans77.land.ru/testapi/SampleWeb.zip