专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »DotNet » 在ATL程序中实现WebBrowser网页浏览 »正文

在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条 分0页

发表评论

  • 昵称:
  • 内容: