国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

2017年計算機二級C++實例編程:利用WebBrowser控件創(chuàng)建自己的瀏覽器

時間:2017-02-20 15:25:00   來源:無憂考網(wǎng)     [字體: ]

  利用WebBrowser控件創(chuàng)建自己的瀏覽器

  是不是很早就想擁有一個很有個性的瀏覽器?本文將介紹如何利用MicroSoft的

  WebBrowser控件在VC中創(chuàng)建一個屬于自己的瀏覽器。過程如下:

 、傩陆ㄒ粋基于對話框的工程,命名為test,然后在對話框上單擊右鍵,選擇Insert ActiveX Control…在彈出的對話框中選擇MicroSoft Web瀏覽器,點擊OK。此時對話框上已經(jīng)出現(xiàn)了WebBrowser控件,調(diào)整它的大小以適合對話框的大小。

 、谶x擇WebBrowser控件,點擊View/ClassWizard,選擇Member Variables,單擊Add Variable按鈕,此時會彈出兩個對話框,均點擊確定即可。然后給該控件加入一個變量,我們把它命名為m_ctrlWeb。

 、墼贑lassWizard中選擇OnInitDialog()函數(shù),在里面加入如下代碼:

  m_ctrlWeb.Navigate("d:\\temp\\html_doc\\index.html",NULL,NULL,NULL,NULL);

  第一個參數(shù)即你要瀏覽的URL地址,可以是一個文件,也可以是一個地址(如http://dlgis.topcool.net)。

  現(xiàn)在編譯運行改程序,如何,是不是已經(jīng)看到你想要瀏覽的網(wǎng)頁了!不過,我們現(xiàn)在的瀏覽器只能顯示,還沒有最基本的前進、后退、刷新等功能,下面我們來加入這些

  功能。

 、茉趯υ捒蛏霞尤肴齻按鈕,分別命名為前進(IDC_BUTTON_FORWARD)、后退(IDC_BUTTON_BACK)、刷新(IDC_BUTTON_REFRESH),然后我們分別為他們加入控制代碼。首先要控制他們在特定的情況下是否可用,即達到最頂層或最底層時,前進或后退按鈕要相應(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;

  }

  }

  此時,按鈕已經(jīng)可以隨著你點擊超連接而改變他們的狀態(tài)了。下面要加入控制前進后退的代碼以使這些按鈕起作用。

 、莘謩e給前進和后退按鈕的函數(shù)加入如下代碼:

  前進:m_ctrlWeb. GoForward();

  后退:m_ctrlWeb. GoBack();

 、藿o刷新按鈕加入如下代碼:

  m_ctrlWeb.Refresh();

  現(xiàn)在,基本的功能基本已經(jīng)具備了。但有時在開發(fā)的過程中,我們不僅僅滿足于可以瀏覽,我們或許想要對特定的連接進行特殊的處理,這就涉及到如何得到你點擊超連接時,得到該超連接的值的問題。WebBrowser控件的TitleChange事件提供了這樣的功能,下面我們看一下如何得到超連接的內(nèi)容。

  ⑦利用ClassWizard給該控件加入TitleChange事件,該函數(shù)的Text參數(shù)即可以返回你點擊的內(nèi)容。在我的應(yīng)用程序中是這樣利用的。我的程序中有一個有關(guān)地名的數(shù)據(jù)庫,當TitleChange事件發(fā)生時,返回你所點擊的地名,然后到數(shù)據(jù)庫中檢索該地名,數(shù)據(jù)庫中存有有關(guān)該地名的各種信息,如視頻、聲音及文本資料等等,檢索到之后,就可以在程序中對這些資料進行顯示、播放等操作了。到現(xiàn)在為止,你已經(jīng)擁有了一個完全由你自己隨心所欲控制的瀏覽器以及你想要擴充它的的功能的Idea了。