明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

VB是如何做到無所不能的

[摘要]很多關(guān)于VB6的書籍都聲稱VB發(fā)展到6.0這個版本已經(jīng)無所不能了,這篇文章的目的不在于評價這種說法是否妥當(dāng),而在于揭示VB是怎樣做到“無所不能”的。不管怎么說,VB已經(jīng)可以應(yīng)用于硬件控制、內(nèi)存管理、進程控制、大型企業(yè)系統(tǒng)的編程卻是不爭的事實,盡管在某些應(yīng)用中VB并不是最理想的開發(fā)工具。那么VB是怎...
很多關(guān)于VB6的書籍都聲稱VB發(fā)展到6.0這個版本已經(jīng)無所不能了,這篇文章的目的不在于評價這種說法是否妥當(dāng),而在于揭示VB是怎樣做到“無所不能”的。

不管怎么說,VB已經(jīng)可以應(yīng)用于硬件控制、內(nèi)存管理、進程控制、大型企業(yè)系統(tǒng)的編程卻是不爭的事實,盡管在某些應(yīng)用中VB并不是最理想的開發(fā)工具。那么VB是怎樣實現(xiàn)這些的呢?

首先,VB有著方便的ActiveX擴展接口。這使得VB在控件及不可視組件的使用上有著無限擴展的可能性。

打開VB6集成開發(fā)環(huán)境,新建標(biāo)準(zhǔn)EXE工程,你會發(fā)現(xiàn)工具箱里的控件并不多,根本不足以開發(fā)出一個完整的程序。這時你打開[工程]--[部件]菜單,會發(fā)現(xiàn)你可能會用到的控件基本上都在里面了,包括用于連接數(shù)據(jù)庫的ADODC、用于綁定和顯示數(shù)據(jù)的DATAGRID或者用于顯示各種通用對話框的COMMON DIALOG,你甚至可以點擊[瀏覽]按鈕添加第三方的或者你自己用其他語言工具寫的OCX控件,這就是VB方便的OCX擴展接口。有了這個接口,你就再也不用為VB有限的內(nèi)置控件發(fā)愁了。

接下來你會發(fā)現(xiàn)有很多應(yīng)用,特別是一些對文件的操作或者對定制要求較高的應(yīng)用很難用單純的控件來實現(xiàn)。這時你打開[工程]--[引用]菜單,會發(fā)現(xiàn)很多你可能會用到的對象微軟已經(jīng)幫你寫好了,包括用于文件操作的FileSystemObject或者用于數(shù)據(jù)庫操作的ADODB,當(dāng)然很多第三方的動態(tài)鏈接庫也會出現(xiàn)在里面,你添加了相應(yīng)的引用后,就可以在對象瀏覽器里面查看相應(yīng)的對象和方法,當(dāng)然你也可以點擊[瀏覽]按鈕添加第三方的或者你自己用其他語言工具寫的DLL動態(tài)鏈接庫,這就是VB方便的DLL擴展接口。

其次,VB從6.0版開始可以建立ActiveX控件工程和ActiveX DLL工程。這就意味著你可以將一些常用的控件或類封裝進COM對象,以實現(xiàn)二進制級的代碼復(fù)用,這對構(gòu)建一個大型的企業(yè)系統(tǒng)來說很有意義,你甚至可以在VC++、DELPHI等其他開發(fā)工具里面調(diào)用你用VB寫的對象。當(dāng)然用VB寫ActiveX控件并不是一個好主意,VC++有時是一個更好的選擇。

最后,通過聲明和調(diào)用Windows API函數(shù)(Windows應(yīng)用程序接口函數(shù)),VB可以將觸角伸向操作系統(tǒng)內(nèi)部,以實現(xiàn)一些底層的功能。VB通過如下格式聲明API函數(shù):


Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

API函數(shù)一經(jīng)聲明即可像內(nèi)部函數(shù)一樣調(diào)用,不過調(diào)用時需注意函數(shù)返回值及參