VisualBasic控制項簡介
可用VisualBasic工具箱中的工具在窗體上繪製控制項。
控制分類
VisualBasic的控制項有三種廣義分類:
1.內部控件,例如CommandButton和Frame控件。這些控制項都在VisualBasic的.exe檔中。內部控制總是出現在工具箱中,不像ActiveX控制項和可插入物件一樣可以加入到工具箱中,或從工具箱中刪除。
2.ActiveX控件,是擴展名為.ocx的獨立文件,其中包括各種版本VisualBasic提供的控件(DataCombo,DataList控件等等)和僅在專業版和企業版中提供的控件(例如Listview、Toolbar、 Animation和TabbedDialog),另外還有許多第三方提供的ActiveX控制項。
注意具有檔案副檔名.vbx的控制項使用了舊的技術,在VisualBasic的早期版本編寫的應用程式中可以找到這些控制項。當VisualBasic打開包含.vbx控件的工程時,在缺省情況下用.ocx控件取代.vbx控件,當然,這只有在控件的.ocx版本存在時才可以。關於將控制項更新為.ocx格式的信息,請參閱本章後面的「更新舊版VisualBasic控制項」一節。
3.可插入的對象,例如一個包含公司所有僱員的列表的MicrosoftExcel工作表對象,或一個包含某工程計劃資訊的MicrosoftPRoject日曆對象。因為這些物件能加入工具箱中,所以可把它們當作控制項使用。其中一些物件也支援自動化(正式的名稱為OLE自動化),使用此控制項就可在VisualBasic應用程式中程式設計控制另一個應用程式的物件。關於自動化的詳細信息,請參閱第十章“用部件編程”中的“使用對象編程”。
詳細資訊關於VisualBasic專業版和企業版中提供的ActiveX控制項的詳細信息,請參閱《部件工具指南》中的「使用ActiveX控制項」。
內部控制
下表總結了VisualBasic工具箱中的內部控制項。
注意指標工具(工具箱中的第一個工具)可用於移動窗體和控件,並調整它們的大小。指標工具不是控制項。
標準ActiveX控件
VisualBasic學習版包含若干ActiveX控制項(稱為標準ActiveX控制項),有了這些控制項就可在應用程式中引入進階功能。 ActiveX控制項的檔案副檔名為.ocx,可手動將它們新增至工具箱中,以便在工程中使用aq。下表總結了VisualBasic學習版提供的標準ActiveX控制項。
詳細資訊關於VisualBasic專業版和企業版中提供的ActiveX控制項的詳細信息,請參閱《部件工具指南》中的「使用ActiveX控制項」。
新增和刪除ActiveX控件
請依照下述步驟在工具箱中新增或刪除ActiveX控制項。
若要在工具箱中新增ActiveX控制項:
1.在“工程”選單中選擇“部件”。
2.選定.ocx控制項名稱旁的複選框,然後選擇「確定」。將控制項放入工具箱後,就像對待內部控制項那樣將它們加入窗體上。
要刪除ActiveX控制項:
1.在工程的窗體上刪除控制項的所有實例。刪除工程程式碼中對控制項的所有引用。若程式碼中還留有被刪除控制項的引用,則在編譯應用程式時將顯示出錯資訊。
2.在“工程”選單中選擇“部件”。清除.ocx控制項名稱旁的複選框,然後選擇「確定」。若工程中還有控制項的實例,則會顯示出錯訊息。
詳細資訊關於在工具箱中添加或刪除控制項和可插入物件的詳細信息,請參閱第四章,「工程的管理」中的「在工程中新增控制項」。
更新舊版VisualBasic控件
檔案副檔名為.vbx的16位元舊版VisualBasic控制與此版VisualBasic不相容。若試圖載入包含.vbx控制項的舊工程,VisualBasic將會警告說控制不適用或不相容,此時,可以繼續載入無.vbx控制項的工程,當然,應用程式將無法正常運作。
若手中有包含第三方.vbx控制項的舊版VisualBasic的工程,請向控制項廠商諮詢有關.ocx替代控制項的資訊。
控制項命名約定
第一次建立物件(窗體或控制項)時,VisualBasic將其Name屬性設定為預設值。例如,最初將所有指令按鈕的Name屬性都設為Commandn,其中n為1、2、3等等。 VisualBasic將繪製在表單上的第一個指令按鈕命名為Command1,第二個為Command2,第三個為Command3。
可以保留預設名稱;但是,如果有幾個同類型控制項時,最好將Name屬性改成具有描述性的名稱。因為很難區分MyForm窗體的Command1按鈕與YourForm的Command1按鈕,所以命名約定十分有益,特別是當應用程式包含了若干窗體、標準和類模組的時候。
可以這樣為控制項命名:用前綴描述類,其後為控制項的描述性名稱。使用了命名約定,程式碼就可自動描述自己並使相似的物件在物件列錶框中按字母順序排列。例如,可以這樣來為CheckBox控制項命名:
chkReadOnly
為窗體和控制項命名的名稱:
1.必須以字母開頭。
2.只能包含字母、數字和底線字元(_);不允許有標點符號字元和空格。
3.不能超過40個字元。
詳細資訊關於命名約定的詳細信息,請參閱附錄B,“VisualBasic編碼約定”。
使用控制項值
所有控制項都有一個屬性,只需引用控制項名稱而無需使用屬性名稱就可利用這個屬性來儲存或取得數值,稱此屬性為控制項的值,這是控制項的最重要或最常用屬性。下表列出了每個控制項屬性,這些屬性被看成是控制項值。
當控制項的屬性為該控制項的值時,無論何時引用這個屬性都不必在程式碼中指定屬性名。例如,下行程式碼設定了TextBox控制項的Text屬性值:
Text1=ThistextisassignedtotheTextproperty_
ofText1
在下例中,只要使用者點選文件列錶框中的文件,Label1的Caption屬性就被設定成File1的FileName屬性:
PrivateSubFile1_Click()
Label1=File1
EndSub
注意由於使用了控制項值,程式碼的可讀性略受影響,所以本指南中的範例不使用控制項值,而是明確引用控制項的屬性。兩種方法均可用於編寫程式碼,在不引起閱讀困難時可考慮使用控制項值。
->