要在MFC下實現網頁刷新,主要是要用到ActiveX 控件中的WebBrowser控件支持網頁刷新。
函數說明
Navigate():
void Navigate(LPCTSTR URL, VARIANT * Flags, VARIANT * TargetFrameName, VARIANT * PostData, VARIANT * Headers)
功能:將指定的統一資源定位符 (URL) 處的文檔加載到WebBrowser控件中,替換上一個文檔,一般用於網頁瀏覽。
url:表示網頁的路徑。
Flags:網頁瀏覽的風格。
TargetFrameName:顯示資源框架的名稱。
PostData:發送信息。
Headers:發送給服務器HTTP頭信息。
void Refresh():
功能:刷新頁面,若函數調用成功,返回S_OK。
下面舉個具體的例子來實現網頁刷新:
(1).創建基於對話框的MFC程序,名稱爲“CWebBrowser2”。
(2).在自動生成的對話框模板中,單擊右鍵,在彈出的快捷菜單中選擇【Insert ActiveX control】命令,彈出“插入ActiveX控件”對話框。
(3).在列表中選擇“Microsoft Web Browser”,單擊【OK】按鈕添加WebBrowser控件。
(4).在自動生成的對話框模板中,添加相應控件如下:
(5).爲編輯框IDC_EDIT1添加CString類型的控件變量m_webstr,爲WebBrowser控件添加control類型的控件變量m_browser;
(6).修改相應控件函數爲:
void CCwebBrowser2Dlg::OnBnClickedOk()//確定 { // TODO: 在此添加控件通知處理程序代碼 m_browser.Navigate(m_webstr,NULL,NULL,NULL,NULL); } void CCwebBrowser2Dlg::OnBnClickedButton3()//刷新 { // TODO: 在此添加控件通知處理程序代碼 m_browser.Refresh(); } void CCwebBrowser2Dlg::OnBnClickedCancel()//退出 { // TODO: 在此添加控件通知處理程序代碼 CDialogEx::OnCancel(); } void CCwebBrowser2Dlg::OnEnChangeEdit1()//編輯框 { // TODO: 如果該控件是 RICHEDIT 控件,它將不 // 發送此通知,除非重寫 CDialogEx::OnInitDialog() // 函數並調用 CRichEditCtrl().SetEventMask(), // 同時將 ENM_CHANGE 標誌“或”運算到掩碼中。 // TODO: 在此添加控件通知處理程序代碼
} (7).編譯運行程序,結果對話框如下: 總結<pre name="code" class="cpp" style="color: rgb(51, 51, 51); font-size: 14px; line-height: 26px; "><span style="white-space:pre"> </span>UpdateData(TRUE);
本文主要實現一個基本的對話框的應用程序,該對話框實現一個基本的網頁瀏覽功能,包括顯示網頁和刷新網頁。