5.1 標簽控件
標簽控件(Label)和文本控件(TextBox)是用于顯示和輸入文本的。應用程序在窗體中顯示文本時使用標簽控件(Label),允許用戶輸入文本時用文本控件(TextBox)。
5.1.1 標簽控件(Label)
標簽控件常用于輸出文本信息,但輸出的信息不能進行編輯修改。
(1) Alignment屬性,
(2) Appearance屬性,
(3) Autosize屬性,
(4) BackColor屬性,
(5) BackStyle屬性,
(6) Enabled屬性,
(7) Index屬性,
(8) ToolTipText屬性,
標簽可觸發(fā)Click和DblClickg事件。
5.1.2文本框(TextBox)
文本框控件稱為編輯字段或者編輯控件,用于文本編輯,用戶可以在該控件區(qū)域內(nèi)輸入、編輯、修改和顯示文本內(nèi)容。
5.2圖形控件
Visual Basic 6.0包含四個圖形控件:PictureBox控件、Image控件、Shape控件和Line控件。
5.2.1圖片框(PictureBox)、圖像框(Image)的屬性、事件和方法
圖片框和圖像框可以顯示的圖像文件格式有位圖文件、圖標文件、圖元文件、JPEG格式文件和GIF格式文件。
1. 圖片框的常用屬性、事件與方法
(1)PictureBox控件屬性
①Picture屬性
②AutoSize屬性
③ScaleLeft,ScaleTop,ScaleWidth,ScaleHeight和ScaleMode屬性
④ PictureBox控件作為容器
(2)圖片框的常用事件
圖片框的常用事件有Click,DBClick,Change,鼠標事件和鍵盤事件等,使用方法與TextBox控件相似。
其中Chage事件當改變圖片框的Picture屬性時發(fā)生。
(3) PictureBox控件的常用方法
① Line方法
在對象上畫直線和矩形。語法:
Object.Line[Step](x1,y1)[Step](x2,y2),[color],[B][F]
其中,object為PictureBox控件對象;(x1,y1)為線段的起點坐標或矩形的左上角坐標;(x2,y2)為線段的終點坐標或矩形的右下角坐標;Step指定相對于線的起點的終點坐標;B表示畫矩形;F表示用畫矩形的顏色來填充矩形,F必須與B一起使用。若只用B而不用F,則矩形的填充由FillColor和FillStyle屬性決定。
② Circle方法
在對象上畫圓、橢圓或弧。語法:
Object.Circle[Step](x,y),radius,[color,start,end,aspect]
其中,object為PictureBox控件對象;(x,y)為Single類型,是圓、橢圓或弧的中心坐標;step表示采取當前作圖位置的相對值;start、end分別表示起始角度、終止角度,取值為0~2π時,畫圓弧,取值為負值時,畫扇形,負號表示畫圓心到圓弧的徑向線;aspect指定長短軸比率,默認值為1,畫圓,大于或小于1時,畫橢圓。
③Cls方法
清除運行時PictureBox所生成的圖形和文本。語法:
Object.Cls
④ Point與PSet方法
Point方法用于返回圖形框上指定點的RGB顏色,若指定點在對象外面,則返回值為-1,該方法對圖像上控件無效。PSet方法用于在圖形框指定位置上畫點。其語法如下:
object.Point(x,y)
object.PSet[Step](x,y),[color]
其中,(x,y)為所畫點的坐標,Step表示當前作圖的相對值。
PSet方法采用背景顏色可清除某個位置上的點。
⑤ Print方法
利用PictureBox控件的Print方法,可以在控件中打印文本、圖像、動畫。
2.圖像框的常用屬性、事件與方法
(1)Image控件屬性
Image控件也使用Picture屬性來確定控件顯示的內(nèi)容。
Image控件沒有AutoSize屬性,它使用Stretch屬性來指定一個圖形是否要調(diào)整大小,當Stretch值為True時,圖形調(diào)整大小以與控件相適合;當值為False時,控件調(diào)整大小以與圖形相適應。
Image控件也不能設置對象的坐標系統(tǒng),它沒有ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight和ScaleMode屬性。
(2)Image控件事件
Image控件具有Click事件、DbClick事件、鼠標事件、鍵盤事件,但沒有Change事件。
(3)Image控件方法
Image控件只具有Move、Refresh、ZOrder等方法,不支持PietureBox控件的圖形方法。
5.2.2 圖形文件的裝入
將圖形載入到PictureBox控件或Image控件,可利用函數(shù)LoadPicture設置控件的Picture屬性。語法為:
LoadPicture([filename],[size],[colordepth],[x,y])
其中,filename指定圖片文件名。如果filename是光標或圖標文件,size指定圖像大小,colordepth指定顏色深度,(x,y)指定光標或圖標的寬度與高度。
運行時,若要從PictureBox或Image控件中刪除一個圖形,可使用不指定文件名的 LoadPicture函數(shù)。例如:
Imagel.Picture=LoadPicture
5.3選擇控件―復選框與單選按鈕
復選框也稱檢查框。單擊檢查框可以使“選”和“不選”交替起作用??赏瑫r選擇一項或多項;其默認名稱分別為CheckX(其中X為1,2,3 …)。
1.復選框的屬性
(1)Caption屬性
(2)Alignment屬性
(3)Value屬性
該屬性表示檢查框的狀態(tài)。
① 選0-UnClick(默認)值,表示檢查框沒有被選中;
② 選1-UnClick值,表示檢查框被選中;
③ 選2-Grayed值,表示檢查框被禁止選擇,此時檢查框變成灰色
(4)Style屬性
2.復選框的事件
復選框控件最基本的事件也是Click事件。同樣,用戶無須為檢查框編寫Click事件過程,因為當用戶單擊檢查框時,它會自動改變狀態(tài)。
3.復選框的方法
復選框也可使用SetFocus方法來改變其Value屬性值,其用法與要求同單選按鈕一樣。每調(diào)用一次SetFocus方法就觸發(fā)一次Click事件。
【例5.2】CheckBox控件示例。設計一個窗體,如圖5-3所示,用檢查框控制文本輸入是否加“下劃線”和“斜體顯示”。
操作步驟如下。
(1)設計窗體外觀
本例需要在窗體上添加3個控件,即一個文本框,兩個檢查框。在文本框中顯示文本,由兩個檢查框決定顯示的文本是否加下劃線或用斜體顯示。
(2)編寫事件代碼
“Form1”窗體控件的“Load”事件過程代碼如下:
Private Sub Form_Load()
TextDisplay.FontSize = 15
End Sub
“TextDisplay”文本框控件的“Change”事件過程代碼如下:
Private Sub TextDisplay_Change()
If CheckUnderLine.Value=1 Then
TextDisplay.FontUnderline=True
End if
If CheckItalic.Value=1 then
TextDisplay. FontItalic =True
End If
End Sub
“CheckUnderLine”檢查框控件的“Click”事件過程代碼如下:
Private Sub CheckUnderLine_Click()
If CheckUnderLine.Value=1 Then
TextDisplay.FontUnderline=True
Else
TextDisplay.FontUnderline=False
End If
End Sub
“CheckItalic”檢查框控件的“Click”事件過程代碼如下:
Private Sub CheckItalic_Click()
If CheckItalic.Value=1 Then
TextDisplay.FontItalic=True
Else
TextDisplay.FontItalic=False
End If
End Sub
(3)執(zhí)行程序
5.3.2 單選按鈕(OptionButton)
單選按鈕主要用于在多種功能中選擇一種功能的情況。
單選按鈕必須成組出現(xiàn),在一組單選按鈕中必須選擇一項,且只能選擇一項;
其默認名稱分別為OptionX(其中X為1,2,3…)。
1. 單選按鈕的屬性
(1)Caption屬性
(2)Alignment屬性
(3)Value屬性
該屬性表示單選按鈕的狀態(tài),它是一個邏輯值。
① 取True值,表示它被選中,按鈕的中心有一個圓點。
② 取False(默認)值,表示單選按鈕沒被選中,按鈕的中心是一個圓圈。
(4)Style屬性
2.單選按鈕的事件
單選按鈕最基本的事件是Click事件,但一般不須要編寫Click事件過程。因為當用戶單擊單選按
鈕時,它會自動改變狀態(tài)。
3.單選按鈕的方法
SetFocus方法是單選按鈕控件最常用的方法,可以在代碼中通過該方法將Value屬性設置為True。使用該方法之前,必須要保證單選按鈕當前處于可見和可用狀態(tài)(即Visible與Enabled屬性值均為True)。
【例5.3】OptionButton控件示例。設計一個如圖5-3所示的窗體程序,實現(xiàn)用單選按鈕在文本框中顯示不同的字體。
操作步驟如下。
(1)外觀設計
在窗體上添加4個控件,即一個文本框,3個單選按鈕,進行其主要屬性設置。
(2)事件過程代碼編寫
3個單選按鈕編寫事件過程代碼分別如下:
Private Sub courier_Click()
TextDisplay.FontSize=18
TextDisplay.FontName="courier"
End Sub
Private Sub modern_Click()
TextDisplay.FontSize=20
TextDisplay.FontName="modern"
End Sub
Private Sub roman_Click()
TextDisplay.FontSize=24
TextDisplay.FontName="times new roman"
End Sub
5.4選擇控件―列表框與組合框
列表框(ListBox)主要是用于顯示列表性的數(shù)據(jù),用戶可以從此列表框內(nèi)選擇適當?shù)牧斜頂?shù)據(jù)。組合框(ComboBox)是一種把文本框(TextBox)和列表框(ListBox)特性組合為單個控制窗口。利用組合框可以在文本框部分輸入字符串,或者在列表框直接選取某項目。
5.4.1 列表框(ListBox)
列表框用來以選項列表形式顯示一系列選項,用戶可從中選擇一項或多項。
列表框最主要的特點是只能從中選擇,不能直接寫入或修改其內(nèi)容。其默認名稱分別為ListBox X(其中X為1,2,3…)。
1.列表框的常用屬性
列表框所支持的標準屬性包括:Enabled,FontBold,FontName,FontUnderline,Height,Left,Name,Top,Visible,Width。此外,列表框還具有以下特殊屬性。
(1)Columns屬性
該屬性用來確定列表框的列數(shù)。
(2)List屬性
該屬性是一個字符型數(shù)組,每一個列表項都是這個數(shù)組中的一個元素,通過下標訪問數(shù)組中的值,List數(shù)組的下標是從0開始的。其格式為
列表框名.List(下標)
(3)ListCount屬性
它表示列表框中列表項的數(shù)量,其值為整數(shù)。第一個列表項序號為0,最后一個列表項序號為ListCount-1值。該屬性只能在程序中設置或引用
(4)ListIndex屬性
它表示執(zhí)行時選中的列表項序號,其值為整數(shù)。
(5)Style
(6)NewIndex屬性
(7)Selected屬性
該屬性實際上是一個數(shù)組,各個元素的值為True或False,每個元素與列表框中的一項相對應。當元素的值為True時,表明選擇了該項;如為False,則表示未選擇。
列表框名.Selected(索引值)
“索引值”從0開始,它實際上是數(shù)組的下標。上面的語句返回一個邏輯值(True或False)。用下面的語句可以選擇指定的表項或取消已選擇的表項:
列表框名.Selected(索引值)=True | False
(8)Stored屬性
(9)Text屬性
它的值是被選中列表項的文本內(nèi)容。List(ListIndex)等于Text。
(10)MultiSelect屬性
2.列表框事件
(1)Click事件
(2)DblClick事件
3.列表框方法
(1)AddItem方法
格式:列表框名.AddItem 項目字符串[,索引值]
(2)Clear方法
格式:列表框名.Clear
(3)RemoveItem方法
格式:列表框名.RemoveItem 索引值
【例5.4】ListBox控件示例。設計一個如圖5-8所示的窗體應用程序。在文本框中輸入數(shù)據(jù),按“增加(A)”按鈕,所輸入的數(shù)據(jù)將增加到列表框中。選中列表框中的某項,按刪除“按鈕(D)”,將該項從列表框中刪除;按“清除(C)”按鈕,將清除列表框中所有項目;按“退出(X)”按鈕,將結束程序運行。
操作步驟如下。
(1)窗體外觀設計
(2)事件過程代碼設計
“Form1”窗體控件的“Load”事件過程代碼如下:
Private Sub Form_Load()
Text1.Text = ""
List1.Clear
End Sub
“cmdAdd”命令按鈕控件的“Click”事件過程代碼如下:
Private Sub Command1_Click()
List1.AddItem Text1.Text
Label2.Caption = "列表項目總數(shù)為:" & List1.ListCount
Text1.Text = ""
Text1.SetFocus
End Sub
“cmdDel”命令按鈕控件的“Click”事件過程代碼如下:
Private Sub Command2_Click()
Dim intSelected As Integer
intSelected = List1.ListIndex
If intSelected >= 0 Then
List1.RemoveItem intSelected
Label2.Caption = "列表項目總數(shù)為:" & List1.ListCount
Else
MsgBox "請先在列表框中選擇要刪除的項目。"
Beep
End If
End Sub
“cmdClear”命令按鈕控件的“Click”事件過程代碼如下:
Private Sub Command3_Click()
List1.Clear
Label2.Caption = "列表項目總數(shù)為:" & List1.ListCount
End Sub
“cmdExit”命令按鈕控件的“Click”事件過程代碼如下:
Private Sub Command4_Click()
End
End Sub
(3)運行調(diào)式程序
5.4.2 組合框(ComboBox)
組合框是組合了文本框和列表框的特性而形成的一種控件。組合框在列表框中列出可供用戶選擇的選項,另外還有一個文本框。
組合框有三種不同的風格:下拉式組合框、簡單組合框和下拉式列表框,由Style屬性值來確定。
1.組合框?qū)傩?/SPAN>
(1)Style屬性
① 當Style屬性被設置為0時,組合框稱為“下拉式組合框”
② Style屬性值為1的組合框稱為“簡單組合框”(Simple Combo),它由可輸入文本的編輯區(qū)和一個標準列表框組成。
③ Style屬性值2的組合框稱為“下拉式列表框”(Dropdown List Box)。
(2)Text屬性
該屬性值是用戶所選擇的項目的文本或直接從編輯區(qū)輸入的文本。
2.組合框事件
(1)Click事件
(2)DblClick事件
(3)Change事件
3.組合框方法
(1)AddItem方法
格式:組合框名.AddItem String[,number]
功能:它把String選項加入到指定的組合框中。
(2)Clear方法
格式:組合框名.Clear
功能:刪除組合框中的所有內(nèi)容。
(3)RemoveItem方法
格式:組合框名.RemoveItem(index)[=number]
功能:從組合框中刪除一個指定的選項。
小結:
控件是Visual Basic中預先定義好的、程序中能夠直接使用的對象。每種控件都有自己的屬性、事件和方法,每種控件都可以完成一種特定的任務。這些控件對象都以形象的圖標形式出現(xiàn)在工具箱中,以便于編程時使用。本講系統(tǒng)和深入地介紹了標簽、文本框、復選框、單選按鈕、列表框和組合框這些常用標準控件的屬性、方法及事件及其在程序設計中的具體應用。
作業(yè):
1、 單選按鈕和復選框在使用上有什么區(qū)別?
2、 列表框和組合框在使用上有什么區(qū)別?
3、 熟悉各種控件的屬性、事件和方法。
|