在ATL程序中实现WebBrowser网页浏览来源: 发布时间:星期六, 2008年10月25日 浏览:2次 评论:0
、首先导入WebBrowser控件:在你的头文件加入 #import "C:\\WINDOWS\\system32\\shdocvw.dll"
2、声明一个WebBrowser控件容器实例:在你的头文件加入 CAxWindow m_axPayView; // 控件容器窗口,要包含头文件 #include <atlwin.h> 3、声明一个IWebBrowser2指针实例:IWebBrowser2Ptr m_pPayWebBrowser2; 4、在你的CPP文件中创建WebBrowser控件容器实例和IWebBrowser2指针实例: void CMainDlg::CreatePayHtmlViewWnd() { RECT rect; GetClientRect(&rect); // 创建非透明Flash播放窗口 if(NULL != m_pPayWebBrowser2) { return; } HWND hwndContainer = m_axPayView.Create(m_hWnd, rect, NULL, WS_CHILD); if(NULL == hwndContainer) { return; } CComPtr<IAxWinHostWindow> spAxWindow; HRESULT hr = m_axPayView.QueryHost(&spAxWindow); if(FAILED(hr)) { _com_error err(hr); return; } LPCOLESTR pszName = L"Shell.Explorer";//L"{8856f961-340a-11d0-a96b-00c04fd705a2}"; hr = spAxWindow->CreateControl(pszName, m_axPayView.m_hWnd, 0); if(FAILED(hr)) { _com_error err(hr); return; } hr = m_axPayView.QueryControl(__uuidof(IWebBrowser2), (void**)&m_pPayWebBrowser2); if(FAILED(hr)) { _com_error err(hr); return; } if(m_pPayWebBrowser2 != NULL) { CComVariant vURL = L"http://www.163.com/"; CComVariant vFlag = 0; CComVariant vTarget = L"_self"; CComVariant vPostData; CComVariant vHeads; m_pPayWebBrowser2->Navigate2(&vURL, &vFlag, &vTarget, &vPostData, &vHeads); } } 5、显示你创建的网页: LRESULT CMainDlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { CAxDialogImpl<CMainDlg>::OnInitDialog(uMsg, wParam, lParam, bHandled); bHandled = TRUE; CreatePayHtmlViewWnd(); m_axPayView.ShowWindow(SW_SHOWNOACTIVATE); return 1; // Let the system set the focus } 6、大功告成 Hy 0
相关文章读者评论
发表评论 |