MSDN中的位置:ms-help://MS.MSDNQTR.2003FEB.2052/progie/workshop/browser/webbrowser/reflist_cpp.htm

1.常用事件

NewWindow3:当链接需要在新窗口打开时发生

void CWebPageDlg::NewWindow3Explorer(
LPDISPATCH* ppDisp, BOOL* Cancel,
unsigned long dwFlags, LPCTSTR bstrUrlContext,
LPCTSTR bstrUrl)
{
 *ppDisp=m_InternetExplorer.get_Application();
 //((CMultipageIeDlg*)GetParent())->NewPage(bstrUrl);//新建窗口
 *Cancel=TRUE;
}

TitleChange:当页面的标题已被读出时发生
void CWebPageDlg::TitleChangeExplorer(LPCTSTR Text)
{

}

NavigateComplete2:当链接访问完成时发生,这个时候get_LocationURL()可以得到当前页的完整URL
void CWebPageDlg::NavigateComplete2Explorer(LPDISPATCH pDisp, VARIANT* URL)
{
 CString csUrl=m_InternetExplorer.get_LocationURL();
 if (csUrl.Find("about:blank")<0)//不是about:blank
 {
  m_csUrl=csUrl;
 }
}

CommandStateChange:当浏览器的状态发生变化时发生
void CWebPageDlg::CommandStateChangeExplorer(long Command, BOOL Enable)
{
 if (CSC_NAVIGATEBACK==Command)
 {
  m_bBack=Enable;//后退功能可用
 }
 if (CSC_NAVIGATEFORWARD==Command)
 {
  m_bForward=Enable;//前进功能可用
 }
}

2.常用属性

禁止弹出脚本错误提示:
HRESULT put_Silent(VARIANT_BOOL bSilent);

3.常用方法

访问指定Url:
HRESULT Navigate(
    BSTR url,
    VARIANT *Flags,
    VARIANT *TargetFrameName,
    VARIANT *PostData,
    VARIANT *Headers
);

例如:
m_InternetExplorer.Navigate("http://www.qingfengju.com/",0,0,0,0);

后退:
HRESULT GoBack(VOID);

前进:
HRESULT GoForward(VOID);

返回浏览器首页:
HRESULT GoHome(VOID);

刷新当前页:
HRESULT Refresh(VOID);

 


本文链接地址: 浏览器编程简介(IWebBrowser2)
https://blog.qingfengju.com/index.asp?id=77

上一篇: CMap中用CString做key
下一篇: 洪湖公园的荷花

分类:Win32/C++ 查看次数:11152 发布时间:2009/6/13 11:25:09