Images應用程式中的事件
Image應用程式對事件的回應如下:
1.每一個Image控制項的Click事件使Shape控制項的Left屬性與它自己的Left屬性相同,並將圖形移到Image的頂端。
2.呼叫PictureBox的Cls方法清除StatusBar的目前標題。
3.呼叫PictureBox的PRint方法在StatusBar上列印新標題。
Image控制項Click事件的程式碼如下:
PrivateSubimgHeart_Click()
shpCard.Left=imgClub.LeftpicStatus.Cls
picStatus.PrintSelected:Club
shpCard.Visible=True
EndSub
請注意,Click事件程式碼中第一行利用=運算元為Shape控制項的Left屬性賦一個值(讓它等於Image控制項的Left屬性)。下面兩行呼叫方法,因而不需要操作符。在第三行中,值(Selected:Club)是Print方法的一個參數。
該應用程式程式碼中還有一行很重要;它在FormLoad事件中。
shpCard.Visible=False
將Shape控制項的Visible屬性設為False,Shape控制項被隱藏起來直到點選第一幅Image。
在Image控制項Click事件的最後一步將Visible屬性設為True。
詳細資訊關於屬性、方法和事件詳細信息,請參閱第五章“編程基礎”。
附加控制項
VisualBasic工具箱還包含幾個其它的標準控制項。有些控制項可用於處理外部資料庫中的大量資料。有些控制項可用於存取Windows檔案系統。還有其它一些控制難以分類,但卻十分有用。
在VisualBasic應用程式中也可使用ActiveX控件,以前稱為自訂控製或OLE控件,用法與使用標準控件一樣。 VisualBasic的專業版和企業版中的若干ActiveX事件同樣具有建立自訂控制項的功能。可以想像,加上大量廠商製作的附加ActiveX控件,幾乎可以完成任何工作。
詳細資訊關於使用ActiveX控制項的詳細信息,請參閱第四章「工程的管理」。
資料存取控制項
在現代商業中,大多數資訊存放於一個或多個中央資料庫中。 VisualBasic提供了多種資料存取控制項,可以存取多數流行的資料庫,如Microsoftaccess和SQL伺服器。
1.ADOData控制項用來連接資料庫。可把它看成是資料庫與窗體中其它控制之間的一個管道線。 Data控制項的屬性、方法和事件允許從應用程式內部定位和處理外部資料。
2.DataList控制項與ListBox控制項相似。 DataList控制項與ADOData控制項一起使用時,它將自動被來自外部資料庫某一欄位的資料清單填入。
3.DataCombo控制項如同DBList和TextBox的組合。 TextBox區域內選取的文字可以編輯,變更出現在底層資料庫。
4.DataGrid控制項顯示在網格或表格中的資料。與ADOData控制項一起使用時,它顯示來自外部資料庫多個欄位的完全可編輯資料。
5.MicrosoftHierarchicalFlexGrid控制項是唯一能顯示資料的多個視圖的控制項。可把它看作網格和樹或大綱控制的組合。執行時,使用者可重新安排行和列以提供資料的不同視圖。
詳細資訊關於Data控件的詳細信息,請參閱第七章“使用VisualBasic的標準控件”。
檔案系統控件
VisualBasic提供三個控制項以增加應用程式中的檔案處理能力。通常,這些控制項會在一起使用以查看磁碟機、目錄和檔案。有一些特殊的屬性和事件使它們相互連結。
DriveListBox控制項看起來像ComboBox。它提供下拉式磁碟機清單,使用者可以從中作出選擇。
DirListBox與ListBox控制項相似,但它具有顯示目前所選磁碟機目錄清單的內建能力。
FileListBox控制項看起來像是顯示所選目錄的檔案名稱清單的ListBox。
注意這些控制項主要是為在早期VisualBasic版本中建立的應用程式的向下相容性而提供的。 CommonDialog控制項提供處理文件存取的簡單方法。關於CommonDialog控制項的詳細信息,請參閱本章後面的「其它控制項」。
其它控件
VisualBasic也提供了其它幾個標準控制項。每個控制項都服務於唯一的目的。
Timer控制項可以在應用程式中以重複時間間隔產生一個事件。這對不需要與使用者互動的程式碼的執行非常有用。
OLE容器控制項很容易為應用程式增加連結和嵌入等功能。透過OLE容器控件,可以提供對任何OLE——可用的應用程式(如MicrosoftExcel、Word和其它許多應用程式)的功能的訪問,。
CommonDialog控制項會在應用程式中增加內建對話框,用來選擇檔案、顏色、字型和列印函數。
詳細資訊關於標準控件的附加信息,請參閱第七章“使用VisualBasic的標準控件”。
焦點概述
焦點是接收使用者滑鼠或鍵盤輸入的能力。當物件具有焦點時,可接收使用者的輸入。在MicrosoftWindows介面,任一時刻可運行幾個應用程序,但只有具有焦點的應用程式才有活動標題欄,才能接受使用者輸入。在有幾個TextBox的VisualBasic窗體中,只有具有焦點的TextBox才會顯示由鍵盤輸入的文字。
當物件得到或失去焦點時,會產生GotFocus或LostFocus事件。窗體和多數控制項支持這些事件。
下列方法可以將焦點賦給物件。
運行時選擇對象。
運行時用快捷鍵選擇物件。
在程式碼中用SetFocus方法。
有些對象,它是否有焦點是可以看出來的。例如,當命令按鈕具有焦點時,標題周圍的邊框將會反白顯示(見圖3.19)。
只有當物件的Enabled和Visible屬性為True時,它才能接收焦點。 Enabled屬性允許物件回應由使用者產生的事件,如鍵盤和滑鼠事件。 Visible屬性決定了物件在螢幕上是否可見。
注意只有不包含任何可接收焦點的控制項的窗體,才能接收焦點。
控制項的Validate事件
控制項也有一個Validate事件,在控制項失去焦點前發生。然而,僅當即將接受焦點的控制項的CausesValidation屬性設定為True時該事件發生。在許多情況下,由於Validate事件發生在失去焦點之前,因此對資料驗證來說它比LostFocus事件更適用。詳細信息,請參閱第七章“使用VisualBasic標準控件”中的“通過限制焦點驗證控件數據”。
不能接受焦點的控件
有些控件,例如輕量級控件,不能接受焦點。輕量控制項包含下面的控制項:
Frame控件
Image控制項
Label控件
Line控制項
Shape控件
此外,運行時不可見的控件,如Timer控件,不能接受焦點。
->