2017年計(jì)算機(jī)二級(jí)C++實(shí)例編程:利用WebBrowser控件創(chuàng)建自己的瀏覽器
時(shí)間:2017-02-20 15:25:00 來(lái)源:無(wú)憂考網(wǎng) [字體:小 中 大]利用WebBrowser控件創(chuàng)建自己的瀏覽器
是不是很早就想擁有一個(gè)很有個(gè)性的瀏覽器?本文將介紹如何利用MicroSoft的
WebBrowser控件在VC中創(chuàng)建一個(gè)屬于自己的瀏覽器。過(guò)程如下:
①新建一個(gè)基于對(duì)話框的工程,命名為test,然后在對(duì)話框上單擊右鍵,選擇Insert ActiveX Control…在彈出的對(duì)話框中選擇MicroSoft Web瀏覽器,點(diǎn)擊OK。此時(shí)對(duì)話框上已經(jīng)出現(xiàn)了WebBrowser控件,調(diào)整它的大小以適合對(duì)話框的大小。
、谶x擇WebBrowser控件,點(diǎn)擊View/ClassWizard,選擇Member Variables,單擊Add Variable按鈕,此時(shí)會(huì)彈出兩個(gè)對(duì)話框,均點(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)頁(yè)了!不過(guò),我們現(xiàn)在的瀏覽器只能顯示,還沒(méi)有最基本的前進(jìn)、后退、刷新等功能,下面我們來(lái)加入這些
功能。
④在對(duì)話框上加入三個(gè)按鈕,分別命名為前進(jìn)(IDC_BUTTON_FORWARD)、后退(IDC_BUTTON_BACK)、刷新(IDC_BUTTON_REFRESH),然后我們分別為他們加入控制代碼。首先要控制他們?cè)谔囟ǖ那闆r下是否可用,即達(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();
⑥給刷新按鈕加入如下代碼:
m_ctrlWeb.Refresh();
現(xiàn)在,基本的功能基本已經(jīng)具備了。但有時(shí)在開(kāi)發(fā)的過(guò)程中,我們不僅僅滿足于可以瀏覽,我們或許想要對(duì)特定的連接進(jìn)行特殊的處理,這就涉及到如何得到你點(diǎn)擊超連接時(shí),得到該超連接的值的問(wèn)題。WebBrowser控件的TitleChange事件提供了這樣的功能,下面我們看一下如何得到超連接的內(nèi)容。
、呃肅lassWizard給該控件加入TitleChange事件,該函數(shù)的Text參數(shù)即可以返回你點(diǎn)擊的內(nèi)容。在我的應(yīng)用程序中是這樣利用的。我的程序中有一個(gè)有關(guān)地名的數(shù)據(jù)庫(kù),當(dāng)TitleChange事件發(fā)生時(shí),返回你所點(diǎn)擊的地名,然后到數(shù)據(jù)庫(kù)中檢索該地名,數(shù)據(jù)庫(kù)中存有有關(guān)該地名的各種信息,如視頻、聲音及文本資料等等,檢索到之后,就可以在程序中對(duì)這些資料進(jìn)行顯示、播放等操作了。到現(xiàn)在為止,你已經(jīng)擁有了一個(gè)完全由你自己隨心所欲控制的瀏覽器以及你想要擴(kuò)充它的的功能的Idea了。
- 2009年9月全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師考試真題及答案
- 2009年3月全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師考試真題及答案
- 2008年9月全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師考試真題及答案
- 2008年4月全國(guó)計(jì)算機(jī)四級(jí)數(shù)據(jù)庫(kù)工程師考試真題及答案
- 2011年3月全國(guó)計(jì)算機(jī)二級(jí)Java考試真題及答案
- 2010年9月全國(guó)計(jì)算機(jī)二級(jí)Java考試真題及答案
- 查看計(jì)算機(jī)等級(jí)考試全部真題>>
- 2023年下半年計(jì)算機(jī)等級(jí)考試四級(jí)計(jì)算機(jī)組成與接口備考要點(diǎn)歸納
- 2023年下半年計(jì)算機(jī)等級(jí)考試三級(jí)信息安全技術(shù)復(fù)習(xí)要點(diǎn)匯總
- 2023年下半年計(jì)算機(jī)等級(jí)考試三級(jí)數(shù)據(jù)庫(kù)技術(shù)復(fù)習(xí)要點(diǎn)匯總
- 2023年下半年計(jì)算機(jī)等級(jí)一級(jí)考試Photoshop考點(diǎn)梳理
- 2023年下半年計(jì)算機(jī)等級(jí)考試三級(jí)網(wǎng)絡(luò)技術(shù)考點(diǎn)梳理
- 2023年下半年計(jì)算機(jī)等級(jí)一級(jí)考試WPS office考點(diǎn)匯總
- 查看計(jì)算機(jī)等級(jí)考試全部文檔 >>
- 2024年9月上海計(jì)算機(jī)一級(jí)成績(jī)查詢時(shí)間及查分入口
- 2024年9月全國(guó)計(jì)算機(jī)一級(jí)成績(jī)查詢時(shí)間及查分入口
- 2024年9月全國(guó)計(jì)算機(jī)一級(jí)考試成績(jī)查詢?nèi)肟冢ㄒ验_(kāi)
- 2024年9月浙江省全國(guó)計(jì)算機(jī)等級(jí)考試(NCRE)
- 2024年9月浙江計(jì)算機(jī)二級(jí)考試準(zhǔn)考證打印入口(9
- 2024年9月江蘇計(jì)算機(jī)一級(jí)成績(jī)查詢時(shí)間及查分入口
- 2024年9月江蘇計(jì)算機(jī)等級(jí)考試成績(jī)查詢時(shí)間及查分
- 2024年9月浙江計(jì)算機(jī)二級(jí)成績(jī)查詢時(shí)間及查分入口