2017年計(jì)算機(jī)二級C++實(shí)例編程:利用WebBrowser控件創(chuàng)建自己的瀏覽器
時(shí)間:2017-02-20 15:25:00 來源:無憂考網(wǎng) [字體:小 中 大]利用WebBrowser控件創(chuàng)建自己的瀏覽器
是不是很早就想擁有一個(gè)很有個(gè)性的瀏覽器?本文將介紹如何利用MicroSoft的
WebBrowser控件在VC中創(chuàng)建一個(gè)屬于自己的瀏覽器。過程如下:
①新建一個(gè)基于對話框的工程,命名為test,然后在對話框上單擊右鍵,選擇Insert ActiveX Control…在彈出的對話框中選擇MicroSoft Web瀏覽器,點(diǎn)擊OK。此時(shí)對話框上已經(jīng)出現(xiàn)了WebBrowser控件,調(diào)整它的大小以適合對話框的大小。
、谶x擇WebBrowser控件,點(diǎn)擊View/ClassWizard,選擇Member Variables,單擊Add Variable按鈕,此時(shí)會彈出兩個(gè)對話框,均點(diǎn)擊確定即可。然后給該控件加入一個(gè)變量,我們把它命名為m_ctrlWeb。
、墼贑lassWizard中選擇OnInitDialog()函數(shù),在里面加入如下代碼:
m_ctrlWeb.Navigate("d:\\temp\\html_doc\\index.html",NULL,NULL,NULL,NULL);
第一個(gè)參數(shù)即你要瀏覽的URL地址,可以是一個(gè)文件,也可以是一個(gè)地址(如http://dlgis.topcool.net)。
現(xiàn)在編譯運(yùn)行改程序,如何,是不是已經(jīng)看到你想要瀏覽的網(wǎng)頁了!不過,我們現(xiàn)在的瀏覽器只能顯示,還沒有最基本的前進(jìn)、后退、刷新等功能,下面我們來加入這些
功能。
、茉趯υ捒蛏霞尤肴齻(gè)按鈕,分別命名為前進(jìn)(IDC_BUTTON_FORWARD)、后退(IDC_BUTTON_BACK)、刷新(IDC_BUTTON_REFRESH),然后我們分別為他們加入控制代碼。首先要控制他們在特定的情況下是否可用,即達(dá)到最頂層或最底層時(shí),前進(jìn)或后退按鈕要相應(yīng)的改變他們的狀態(tài)。利用ClassWizard給WebBrowser控件加入CommandStateChange事件,然后單擊Edit Code按鈕,在其中加入如下代碼:
switch(Command)
{
case 1:
{
GetDlgItem(IDC_BUTTON_FORWARD)->EnableWindow(Enable);
break;
}
case 2:
{
GetDlgItem(IDC_BUTTON_BACK)->EnableWindow(Enable);
break;
}
}
此時(shí),按鈕已經(jīng)可以隨著你點(diǎn)擊超連接而改變他們的狀態(tài)了。下面要加入控制前進(jìn)后退的代碼以使這些按鈕起作用。
、莘謩e給前進(jìn)和后退按鈕的函數(shù)加入如下代碼:
前進(jìn):m_ctrlWeb. GoForward();
后退:m_ctrlWeb. GoBack();
、藿o刷新按鈕加入如下代碼:
m_ctrlWeb.Refresh();
現(xiàn)在,基本的功能基本已經(jīng)具備了。但有時(shí)在開發(fā)的過程中,我們不僅僅滿足于可以瀏覽,我們或許想要對特定的連接進(jìn)行特殊的處理,這就涉及到如何得到你點(diǎn)擊超連接時(shí),得到該超連接的值的問題。WebBrowser控件的TitleChange事件提供了這樣的功能,下面我們看一下如何得到超連接的內(nèi)容。
、呃肅lassWizard給該控件加入TitleChange事件,該函數(shù)的Text參數(shù)即可以返回你點(diǎn)擊的內(nèi)容。在我的應(yīng)用程序中是這樣利用的。我的程序中有一個(gè)有關(guān)地名的數(shù)據(jù)庫,當(dāng)TitleChange事件發(fā)生時(shí),返回你所點(diǎn)擊的地名,然后到數(shù)據(jù)庫中檢索該地名,數(shù)據(jù)庫中存有有關(guān)該地名的各種信息,如視頻、聲音及文本資料等等,檢索到之后,就可以在程序中對這些資料進(jìn)行顯示、播放等操作了。到現(xiàn)在為止,你已經(jīng)擁有了一個(gè)完全由你自己隨心所欲控制的瀏覽器以及你想要擴(kuò)充它的的功能的Idea了。
- 2023年下半年計(jì)算機(jī)等級考試四級計(jì)算機(jī)組成與接口備考要點(diǎn)歸納
- 2023年下半年計(jì)算機(jī)等級考試三級信息安全技術(shù)復(fù)習(xí)要點(diǎn)匯總
- 2023年下半年計(jì)算機(jī)等級考試三級數(shù)據(jù)庫技術(shù)復(fù)習(xí)要點(diǎn)匯總
- 2023年下半年計(jì)算機(jī)等級一級考試Photoshop考點(diǎn)梳理
- 2023年下半年計(jì)算機(jī)等級考試三級網(wǎng)絡(luò)技術(shù)考點(diǎn)梳理
- 2023年下半年計(jì)算機(jī)等級一級考試WPS office考點(diǎn)匯總
- 查看計(jì)算機(jī)等級考試全部文檔 >>
- 2024年9月上海計(jì)算機(jī)一級成績查詢時(shí)間及查分入口
- 2024年9月全國計(jì)算機(jī)一級成績查詢時(shí)間及查分入口
- 2024年9月全國計(jì)算機(jī)一級考試成績查詢?nèi)肟冢ㄒ验_
- 2024年9月浙江省全國計(jì)算機(jī)等級考試(NCRE)
- 2024年9月浙江計(jì)算機(jī)二級考試準(zhǔn)考證打印入口(9
- 2024年9月江蘇計(jì)算機(jī)一級成績查詢時(shí)間及查分入口
- 2024年9月江蘇計(jì)算機(jī)等級考試成績查詢時(shí)間及查分
- 2024年9月浙江計(jì)算機(jī)二級成績查詢時(shí)間及查分入口