久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

在VB中使用IE的WebBrowser控件

 戰(zhàn)神之家 2014-04-13
在程序設(shè)計中,,如何設(shè)計出美觀、實用,,有個性的界面是每個程序設(shè)計者在界面設(shè)計中追求的目標,。隨著Windows XP的推出,各種與眾不同的華麗界面越來越被程序設(shè)計者和軟件使用者所認同,。

利用Windows中的WebBrowser控件,,可以把華麗的網(wǎng)頁設(shè)計技術(shù)應用到界面設(shè)計中去,例如微軟著名的MSN瀏覽器的許多界面其實就是一個Web頁,,Windows XP中的幫助中心,、Microsoft Encarta(微軟百科全書)等許多軟件中的一些界面也是利用WebBrowser控件顯示的Web頁。

利用WebBrowser控件顯示一個網(wǎng)頁,,制作一個簡單的瀏覽器已經(jīng)有很多文章介紹,,實現(xiàn)也不復雜,,但如何實現(xiàn)程序與Web頁的交互則是將其應用到界面設(shè)計中的關(guān)鍵,。



ActiveX控件和WebBrowser控件的使用

用 Visual Basic 創(chuàng)建一個應用程序的第一步是創(chuàng)建界面。而控件則是創(chuàng)建界面的基本模塊,,是包括在窗體對象內(nèi)的對象,。每種類型的控件都有自己的屬性、方法和事件,,屬性一般控制控件的外觀,、大小等性質(zhì),方法則是控件的能力或者功能,,事件則代表與用戶的交互,,例如鼠標的移動點擊、鍵盤的輸入等都會觸發(fā)相應的事件,。

WebBrowser控件是隨IE 3.0以上版本提供的一個可編程的ActiveX控件,,利用WebBrowser控件可以顯示、控制、分析Web頁,,除了IE,,chm格式的幫助的瀏覽,還廣泛應用在以IE為核心的許多瀏覽器和其他程序中,。

WebBrowser控件在VB中的使用很簡單,。啟動VB,創(chuàng)建一個標準EXE工程,,選擇工程——部件,,打開部件對話框,從中找到Microsoft Internet Controls,,選中后單擊應用,,然后關(guān)閉對話框(下圖),可以看到WebBrowser控件已經(jīng)添加到工具欄,。


將WebBrowser控件拖至窗體,,調(diào)整到相應大小,打開代碼窗口,,在Form_Load過程中鍵入如下代碼:



Private Sub Form_Load()

WebBrowser1.Navigate "http://www.sohu.com"

End Sub



運行程序,,可以看到搜狐的主頁顯示在了相應的對話框中了。如果是本地的Web頁只需將http://www.sohu.com替換為本地文件的全路徑(目錄+文件名)就可以了,。



控制WebBrowser控件

利用WebBrowser控件的GoBack(后退),、GoForward(前進)、GoHome(主頁),、Navigate(定位),、Refresh(刷新)、Stop(停止)等方法,,可以實現(xiàn)瀏覽器的常規(guī)操作,。例如實現(xiàn)地址欄的操作,可以先向窗體添加一個文本框和按鈕,,并向按鈕的Click事件相應過程中添加如下代碼:




Private Sub Command1_Click()

WebBrowser1.Navigate Text1.Text

End Sub



這樣,,向文本框輸入地址,單擊按鈕,,即可訪問不同的站點,。WebBrowser控件得其他操作方法類似,讀者可以參考MSDN的有關(guān)介紹,。



實現(xiàn)Web頁與程序的交互

要實現(xiàn)Web頁與程序的交互,,其關(guān)鍵在于改寫WebBrowser控件的BeforeNavigate2事件,截獲需要與程序交互的動作,,然后進行相應的操作,。例如,,我們在程序目錄下新建一個簡單的Web頁test.htm,其內(nèi)容如下:



<HTML>

<HEAD>

<TITLE> Test </TITLE>

</HEAD>

<BODY>

<A HREF=../../"test1.htm">test1</A><br>

<A HREF=../../"test1.htm">test2</A>

</BODY>

</HTML>



在Form_Load過程中鍵入如下代碼:



Private Sub Form_Load()

WebBrowser1.Navigate App.Path & "\test.htm"

End Sub



運行程序,,點擊test1或者test2則打開相應的test1.htm(如果test1.htm存在),,或者顯示文件找不到錯誤。那么如何截獲用戶點擊test1這個超鏈接呢,,我們在BeforeNavigate2這個事件中鍵入以下代碼:



If Right(URL, 9) = "test1.htm" Then

MsgBox "test1 clicked"

Cancel = True '使WebBrowser控件停止相應此事件

ElseIf Right(URL, 9) = "test2.htm" Then

MsgBox "test2 clicked"

Cancel = True

End If



運行程序,,可以看到程序已經(jīng)截獲了用戶點擊相應超鏈接的事件(注意:right函數(shù)的使用是為了只提取url的最后部分,因為url還包括網(wǎng)絡協(xié)議和目錄等信息),。這樣,,我們就可以在程序界面中使用Web頁來實現(xiàn)用戶界面,并通過截獲相應的點擊事件,,通過判斷相應的url,,得知用戶的操作,從而使程序進行不同的操作,。



換膚(SKIN)的實現(xiàn)

利用以上的程序設(shè)計思路,,我們來實現(xiàn)程序的換膚。因為程序的動作的處理集中在對WebBrowser控件BeforeNavigate2這個事件的處理上,,只與url的值有關(guān),,與Web頁的具體內(nèi)容和設(shè)計沒有關(guān)系,因此不但可以分離界面和程序的設(shè)計,,而且可以輕松的實現(xiàn)諸如換膚此類操作,。
具體實現(xiàn)辦法可以簡單敘述為以下幾步:

1. 制作幾個不同的Web頁,但要保證相應的超鏈接(url)一致,;

2. 在程序中設(shè)計一個換膚的操作,,切換當前WebBrowser所顯示的Web頁;

3. 在BeforeNavigate2中處理所有的動作,。

以下即為筆者設(shè)計的一個簡單示例的運行畫面,。如果將窗體設(shè)置為無標題欄,無邊框,,效果就會更佳,。






全部程序的代碼如下,,實現(xiàn)非常簡單,。



Option Explicit



Private Sub Form_Load()

WebBrowser1.Navigate App.Path & "\1.htm"

End Sub



Private Sub Option1_Click()

WebBrowser1.Navigate App.Path & "\1.htm"

End Sub



Private Sub Option2_Click()

WebBrowser1.Navigate App.Path & "\2.htm"

End Sub



Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)



If Right(URL, 3) = "111" Then

MsgBox "111 Clicked!"

Cancel = True

ElseIf Right(URL, 3) = "222" Then

MsgBox "222 Clicked!"

Cancel = True

End If



End Sub



結(jié)束語

在VB中實現(xiàn)與眾不同、具有個性界面的程序的辦法一般是使用各類界面控件,,或者通過調(diào)用WinAPI來實現(xiàn),,但一般來說很多漂亮的控件都是需要付費購買的,而通過編程實現(xiàn)都比較復雜,,且程序的修改,、維護也相應會很復雜,。

利用WebBrowser控件可以將界面設(shè)計和程序設(shè)計分離,對于交互較簡單的程序,,只需簡單編程即可實現(xiàn)一些其他方法較難實現(xiàn)的功能,,例如圖片按鈕、不規(guī)則按鈕,、動畫圖標等利用Web頁可以輕松實現(xiàn)的功能以及換膚等一般程序設(shè)計較難實現(xiàn)的功能,。利用本文提供的方法進行界面設(shè)計可以廣泛應用在各類多媒體程序的界面設(shè)計,以及程序中類似Office XP和Windows XP的任務窗格的設(shè)計,。
對于要進行輸入輸出等相對復雜任務的交互,,可以通過下面幾個方法思路來實現(xiàn):

1.將復雜的操作和交互集中起來,直接利用其他方法實現(xiàn)而不利用Web頁來實現(xiàn),。

2.程序的輸入:在Web頁的form設(shè)計中,,將提交操作的method設(shè)置為get,則用戶輸入內(nèi)容會出現(xiàn)在url中,,可以通過解析url獲取用戶輸入,,并進行相應動作。

3.程序的輸出:通過對顯示的Web頁的改寫實現(xiàn),。設(shè)計一個模板,,讀入此文件,應用Replace函數(shù)可以迅速將程序模板中的內(nèi)容替換為程序運算后的結(jié)果,。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多