第5單元…VB的物件應用

基本控制項元件 

標籤 Label
文字框 Text
命令按鈕 CommandButton
核取框 CheckBox
選項按鈕 OptionButton
框架 Frame
清單 ListBox
下拉式清單 ComboBox
影像框 Image
計時器 Timer
磁碟機清單 DriveListBox
目錄清單 DirListBox
檔案清單 FileListBox
通用對話框 CommandDialog

Label控制項元件

Label 控制項元件主要用在視窗中顯示提示訊息,常與Text控制項元件一起使用。
屬性:
Caption 表示標籤的內容。
例:Label1.Caption="N&ame:"
控制項元件在視窗中顯示Name:,&號跟的字母是快捷鍵字母,
即當我們按下Alt+A時,Label1的Click事件將會發生。
這種快捷鍵定義方法對于選單和許多其它控制項元件同樣適用。
Font 表示控制項元件的字體。
ForeColor 表示控制項元件的顏色。
Enabled 表示控制項元件是否有作用。
=True 有作用。
=False 無作用(控制項元件顯示為灰色)。
Visible 表示控制項元件是否可見
=True 可見。
=False 不可見。
Top,Left,Width,Height 表示控制項元件在視窗中的位置和尺寸。
事件:
Click 當點選或按下快捷鍵時發生,常用于使和它一起使用的Text控制項元件獲得輸入焦點。
例:
Private Sub Label1_Click()
Text1.SetFocus
End Sub

Text控制項元件

Text控制項元件接受使用者的輸入的字串數據。
屬性:
Text 表示使用者輸入的內容。
例:Label1.Caption=Text1.Text
將Text1控制項接收使用者輸入的數據通過Label1顯示出來。
SelStart 表示使用者選取一段文字的起始位置。第一個字串位置為0。
SelLength 表示使用者選取的文字長度。
SelText 表示使用者選取的文字內容。
例:0123456789
這時:SelStart=5,SelLength=4,SelText="5678"
MultiLine 表示是否是多行輸入。
=True 是多行輸入。
=False 不是多行輸入(缺省) 。
ScrollBars 多行情況下是否需要滾動條。
=0 沒有。
=1 有水平。
=2 有垂直。
=3 水平、垂直都有。
Password 表示口令字符。Text屬性返回使用者輸入數據,屏幕上顯示該字符。
方法:
SetFocus 使當前控制項元件獲得輸入焦點。
事件:
KeyPress 當在控制項元件上按下按鍵時發生。
Private Sub Text1_KeyPress(KeyAscii As Integer)
End Sub
KeyAscii 表示使用者按鍵的ASCII碼,如果在事件中將它改為0,則認為沒有按鍵。
例:編寫只允許輸入數字的Text控制項元件。
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii<Asc("0") Or KeyAscii>Asc("9") Then
KeyAscii=0
End If
End Sub
Change 當控制項元件內容改變時發生。
LostFoucus 當控制項元件失去輸入焦點時發生。
GotFoucus 當控制項元件獲得輸入焦點時發生。
通常我們在Text控制項元件獲得輸入焦點時全選它的內容,方便使用者直接修改數據。
代碼如下:
Private Sub Text1_GotFocus()
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
End Sub

CommandButton控制項元件

CommandButton控制項元件接受使用者的命令。
屬性:
Caption 表示按鈕所顯示的內容
例:Command1.Caption="&OK"
事件:
Click 當點選或按下快捷鍵時發生。

CheckBox控制項元件

CheckBox控制項元件檢查某個選項是否被選中。
屬性:
Caption 表示檢查框所提示的內容。
例:Check1.Caption="Windows &98":Check2.Caption="Windows &NT"
Value 表示檢查框是否被選中。
=0 未選中。
=1 選中。
例:Check1.Value=1:Check2.Value=0
事件:
Click 當點選或按下快捷鍵時發生。

OptionButton控制項元件

OptionButton控制項元件檢查一個選項是否被選中,它與CheckBox的區別是:
CheckBox 是多選多項。
OptionButton 是多選一項。
屬性:
Caption 表示檢查框所提示的內容。
例:Option1.Caption="男":Option2.Caption="女"
Value 表示檢查框是否被選中。
=False 未選中。
=True 選中。
例:Option1.Value=False:Option2.Value=True
事件:
Click 當點選或按下快捷鍵時發生。

Frame控制項元件

Frame控制項元件主要用于為OptionButton控制項元件分組。
屬性:
Caption 表示分組所提示的內容。
例:Frame1.Caption="性別":Frame2.Caption="民族"

ListBox控制項元件

ListBox控制項元件用于在一組列表中選擇其中的一項或多項。
屬性:
Text 表示當前操作項內容。
ListCount 表示當前列表框中總數據項數。
ListIndex 表示當前操作項下標,第1項=0。
List(i) 表示第i項表項內容。
MultiSelect 表示是否允許多選擇。
Selected(i) 表示第i項是否被選中。
SelCount 表示被選中的項數。
Sort 表示是否排序。
方法:
AddItem 向列表框增加一項數據。
ListX.AddItem(Item As String)
RemoveItem 刪除第i
ListX.RemoveItem(i As Integer)
事件:
Click 當點選列表框中的一項數據時發生。

ComboBox控制項元件

ComboBox控制項元件與ListBox基本相同,它的优點在于占用的面積小,除了可以在選項中選擇外還可以輸入其它數據。它的缺點是不能多選擇。
屬性:
Text 存放從選項中選擇的數據或使用者輸入的數據。
其它方法與事件和ListBox相同。

Image控制項元件

Image控制項元件用于顯示一張圖片。
屬性:
Picture 存放圖片的數據。
通常我們使用LoadPicture函數讀入一張圖片。
例:ImageX.Picture=LoadPicture("C:\1.bmp")
[注]:LoadPicture支持Bmp、Jpg、Gif、等多種格式圖片文件。
Stretch 顯示圖片的方式。
=True 以控制項元件的尺寸顯示圖片。
=False 以圖片的原尺寸顯示圖片。

Timer控制項元件

Timer控制項元件以固定間隔時間名触發它的Timer事件。
屬性:
Enabled 表示是否起動計時器。
=True 啟動。
=False 關閉。
Intertval 表示触發Timer事件的間隔時間以毫秒為單位,即:1000=1秒。
事件:
Timer當計時器計時到間隔時間時發生。

DriveListBox控制項元件

DriveListBox控制項元件提供一個驅動器列表。
屬性:
Drive表示當前選擇的驅動器盤符。
事件:
Change當驅動器選擇發生變化時發生。

DirListBox控制項元件

DirListBox控制項元件提供一個目錄列表。
屬性:
Path表示當前目錄的路徑。
事件:
Change當目錄選擇發生變化時發生。

FileListBox控制項元件

FileListBox控制項元件提供一個文件列表。
屬性:
Path表示當前文件列表所在的路徑。
Filename表示選擇的文件名(不含路徑)。
Pattern決定列什么樣的文件。
例:*.* 列所有文件。*.bmp 列BMP圖片文件。
Click當點選列表框的一項數據時發生。

CommandDialog控制項元件

CommandDialog控制項元件包括了Windows操作系統提供的6種公用對話框。(僅介紹前四種對話框)
OpenSaveColorFont 、Printer 、Help

Open對話框 和 Save對話框

屬性:
Filename表示選擇的文件名(含路徑)。
Filter決定列什么樣的文件。
格式:說明|過濾|說明|過濾|...
例:Filter="Text|*.txt|Picture|*.bmp;*.gif"
方法:
ShowOpen彈出Open對話框。
ShowSave彈出Save對話框。
例:打開一個正文文件,把文件名賦給變量fn。
Dim fn As String
CDlg1.Filter="Text|*.txt"
CDlg1.ShowOpen
fn=CDlg1.Filename

Color對話框

屬性:
Color選擇的顏色。
方法:
ShowColor彈出Color對話框。
例:修改標籤控制項元件的Label1顏色。
CDlg1.Color=Label1.ForeColor
CDlg1.ShowColor
Label1.ForeColor=CDlg1.Color

Font對話框

屬性:
Flags決定字體的集合。
FontBold是否加粗。
FontItalic是否斜體。
FontName字體名稱。
FontSize字體大小。
方法:
ShowFont彈出Font對話框。
例:修改標籤控制項元件Label1的字體。
CDlg1.FontName=Label1.FontName
CDlg1.FontSize
=Label1.FontSize
CDlg1.Flags=cdlCFScreenFonts
CDlg1.ShowFont
Label1.FontBold=CDlg1.FontBold
Label1.FontItalic=CDlg1.FontItalic
Label1.FontName=CDlg1.FontName
Label1.FontSize=CDlg1.FontSize