|
2.3 控件 1. 常用控件介紹 (1)標(biāo)準(zhǔn)控件一
(2) 常用控件的屬性、方法和事件
2. 常用控件的使用辨析 (1)文本框和標(biāo)簽的區(qū)別: 文本框通常用于向計算機(jī)輸入信息,而標(biāo)簽通常用于輸出信息。文本框是一個十分重要的控件,因為由復(fù)選框和選項按鈕向程序輸入的信息畢竟只有少數(shù)的幾條信息而已。標(biāo)簽和文本框的區(qū)別很小,標(biāo)簽可以看成是一個在運行時不能修改正文的文本框,因此標(biāo)簽主要用于輸出信息。 (2) Label的AutoSize屬性和WordWrap屬性 ¨ 為了使標(biāo)簽具有垂直伸展和字換行處理,必須設(shè)置它的AutoSize屬性和WordWrap屬性同時為True。 (3) PictureBox和Image的Stretch屬性和AutoSize屬性 ¨ Image只有Stretch屬性,而PictureBox只有AutoSize屬性。 (4)Frame 框架、CheckBox 復(fù)選框、OptionButton選項按鈕的區(qū)別: ¨ 復(fù)選框和選項按鈕用于向程序輸入信息, 框架用來對復(fù)選框和選項按鈕進(jìn)行分組。 3.控件使用舉例 例3、4 2.4 定制菜單 1. 菜單概述 Windows中的菜單一般由菜單條、菜單、菜單項、子菜單、彈出式菜單組成。 2. 普通菜單的設(shè)計 (1) 給菜單命名 菜單標(biāo)題和菜單命令也有Caption和Name屬性,設(shè)置了這兩個屬性就等于創(chuàng)建了菜單。Name是一個抽象名稱,Caption是屏幕上可見的,可在Caption里加入 “&” 來設(shè)置熱鍵。 (2) 增加和刪除菜單 在Menu Editor中部有三個命令鈕分別是下一個、插入、刪除。插入可用來增加新的菜單。在這三個鍵下面的Caption列表框里選中菜單項(這時它的底色就變成深藍(lán)色),單擊插入鍵,Visual Basic將上一個增亮菜單下推并增亮一空行,就可以輸入新菜單名和標(biāo)題了。刪除鍵可用來刪掉菜單。選中要刪掉的菜單,單擊Delete鍵就可以刪掉它了。 (3) 移動菜單標(biāo)題 有 四種情況:向上移動,向下移動,向左縮排,向右縮排,選中某一菜單標(biāo)題,安上下箭頭,則這個菜單將上下移動到你喜歡的位置上,這也決定了它在界面中的位 置。如果按左右箭頭,情況則有所不同。由于菜單是分級的,所以,如果它沒有縮排,則它是一個菜單標(biāo)題;如果它縮排一次,那么它將變成一個菜單命令;如果縮 排兩次,那么它將成為一個子菜單命令。VB里可以總共設(shè)計四層子菜單。 (4) 設(shè)置分離條 分離條是指在菜單中將命令分組的線,VB將分離條也看成一個菜單項,它也需要Caption和Name屬性,而且也有其它屬性,分離條與菜單項的區(qū)別是分離條的Caption屬性必須是連字號即減號。也就是,當(dāng)設(shè)置了一個Caption屬性為 “-” 的菜單項時,實際上就設(shè)置了一個分離條,分離條的名字可以是barFile1之類,以表明分離條的位置。 (5) 菜單的各種簡單屬性 在菜單編輯器里有許多確認(rèn)框和一些文本框及一個下拉式的列表框,這些決定了菜單的各種屬性。 1) Checked 復(fù)選屬性 這個屬性值設(shè)置為真,將在菜單命令左邊產(chǎn)生一個打勾的確認(rèn)標(biāo)志。 2) Enabled有效屬性 各種各樣的用戶會產(chǎn)生千奇百怪的操作,在許多Edit菜單里都會有不同形式的讓菜單命令模糊的情況。Enabled屬性為真,則菜單命令是清晰的,Enabled屬性為假,則菜單命令是模糊的,這時用戶就不能選中這個菜單項了。 3) Visible 可見屬性 對暫時不用的菜單, 如果把Visible屬性設(shè)為假,則菜單根本不會出現(xiàn)在屏幕上。這樣做比把Enabled屬性設(shè)為假顯得更加干脆! 4) Index屬性 可以生成菜單命令數(shù)組,用索引號區(qū)分開。例如向File菜單中添加一系列最近打開的文件名。添加菜單可用Load方法。以上屬性可以在運行時設(shè)置,形成動態(tài)的菜單的情況。 例如: mnuUndo.Enabled = False mnuProperty.Visible = False 還可以改變Caption等屬性。 mnuUndo.Caption = “Redo” (6)為每個菜單項編寫事件過程代碼 3. 生成彈出式菜單(或浮動菜單) 幾乎每個Windows應(yīng)用程序都提供彈出式菜單,用戶可以右鍵單擊窗體或控件取得這個菜單。彈出式菜單也屬于普通菜單,只是不固定在窗體上,而是可以在任何地方顯示。 彈出式菜單用PopupMenu方法調(diào)用。假設(shè)已經(jīng)用菜單編輯器生成了名為mnuedit的菜單,則可以在MouseUp事件加入如下代碼就可以生成彈出式菜單: If Button = 2 Then PopupMenu mnuedit 4.菜單設(shè)計示例 例 5 2.5 設(shè)計狀態(tài)條、工具欄、進(jìn)程條等 1. 創(chuàng)建狀態(tài)條 選中狀態(tài)條,按F4鍵進(jìn)入屬性窗口,雙擊(Custom)可以進(jìn)入主要的設(shè)置窗口SBarCtrl屬性窗口。 (1) 選擇面板形狀 在SBarCtrl屬性窗口里選擇General標(biāo)簽,在Style列表框里選擇多面板(缺省形式)或單面板簡單文本形式。 (2) 添加或刪除狀態(tài)條面板 在SBarCtrl屬性窗口里選擇Panels標(biāo)簽,單擊Insert按鈕添加一個面板,或單擊Remove按鈕刪除一個面板。 (3) 在單面板里顯示文本 在SBarCtrl屬性窗口里選擇General標(biāo)簽,在SimpleText框里輸入想顯示在狀態(tài)條面板里的文本。用代碼顯示的方式是: StatusBar1.SimpleText = "New string to appear" (4) 在多面板里顯示文本或圖形 1). 在SBarCtrl屬性窗口里選擇Panels標(biāo)簽,用Index旁的按鈕選擇面板序號。 2). 在Text框里輸入想顯示在狀態(tài)條面板里的文本。 3). 如果想加入圖形,單擊Browse按鈕打開一個圖形選擇對話框,選擇想加入的圖形,然后單擊打開按鈕。 4). 最后按確定按鈕。 5). 用代碼顯示的方式是:StatusBar1.Panels(x).Text = "New string to appear" 6). 編寫代碼 如果是一個單面板狀態(tài)條,當(dāng)用戶單擊狀態(tài)條時,只需用下面的事件過程來響應(yīng): Private Sub StatusBar1_Click() End Sub 如果是一個多面板狀態(tài)條,就需要鑒別用戶單擊的是哪一個面板,可用下面的事件過程來識別用戶所單擊的面板: Private Sub StatusBar1_PanelClick(ByVal Panel As Panel) Select Case Panel.Index Case 1 'Code to follow if user clicks the first panel Case 2 'Code to follow if user clicks the second panel Case 3 'Code to follow if user clicks the third panel End Select End Sub 2. 創(chuàng)建工具欄 1. 建立工具條 1).在工具箱里單擊工具條圖標(biāo),拖到窗體的任何位置,Visual Basic自動將ToolBar移到頂部。 2).按F4鍵打開屬性窗口。 3).雙擊(Custom),打開ToolBar屬性窗口。 4). 選擇Buttons標(biāo)簽。 5). 單擊Insert按鈕,Visual Basic就會在你的工具條上顯示一個空按鈕,現(xiàn)在為你的每一個按鈕重復(fù)這一步。 6). 單擊確定按鈕。 如果想把按鈕分組,首先生成一個分隔的按鈕,再在剛才提到的對話框里將這個按鈕的Style屬性改為3-Separator。 (2) 為工具條增加圖畫 1). 在Visual Basic工具箱里單擊ImageList圖標(biāo),并將它拖到窗體的任何位置(位置不重要,因為它總是不可見的)。 2). 按F4打開屬性窗口。 3). 雙擊(Custom),打開ImageListCtrl屬性窗口。 4). 選擇Image標(biāo)簽。 5). 單擊Insert Picture,在現(xiàn)在圖形的對話框里選擇想使用的位圖或圖標(biāo),然后單擊打開按鈕。為每個想添加圖形的工具條按鈕重復(fù)此步。 6). 單擊確定按鈕。 7). 單擊工具條,按F4,雙擊(Custom),顯示ToolBar屬性對話框。 8). 選擇General標(biāo)簽,在ImageList框里選擇剛才添加的ImageList控件。 9). 選擇Buttons標(biāo)簽,單擊緊挨Index框的向左或向右箭頭以選擇一個按鈕序號。出現(xiàn)在工具條最左邊的按鈕序號為1。 10). 在Image框里輸入一個數(shù),輸入為1,則顯示剛才ImageList控件里的第一個圖形,輸入為2,則顯示剛才ImageList控件里的第二個圖形。 11). 為每個按鈕重復(fù)第10步。 12). 單擊確定按鈕,現(xiàn)在Visual Basic就會在工具條上顯示精美的圖形了。 (3) 為工具條添加文本信息 在ToolBar屬性對話框中選擇Buttons標(biāo)簽,在Caption框里輸入想顯示在按鈕上的文本。 (4) 添加ToolTips ToolTips是一種當(dāng)點到工具按鈕時彈出的小標(biāo)簽。ToolTips很方便,可以告訴那些新手每個按鈕是干什么用的。在剛才提到的ToolBar屬性對話框中選擇Buttons標(biāo)簽,在ToolTipText框里輸入想作為ToolTip的文本。 (5) 編寫代碼 雙擊工具條,以下面的格式輸入代碼就可以了: Private Sub Toolbar1_ButtonClick(ByVal Button As Button) Select Case Button.Index Case 1 'Code to follow if user clicks the first button Case 2 'Code to follow if user clicks the second button Case 3 'Code to follow if user clicks the third button End Select End Sub 3. 創(chuàng)建進(jìn)程條 進(jìn)程條的三個屬性: (1). Min屬性代表進(jìn)程條全空時的值,缺省時為0。 (2). Max屬性代表進(jìn)程條全空時的值,缺省時為100。 (3) Value屬性代表進(jìn)程條當(dāng)前的值(不用在屬性窗口里找這個屬性,它不出現(xiàn)在屬性窗口中,但它的確存在),它大于Min屬性,小于Max屬性。改變Value屬性的值將改變進(jìn)程條的進(jìn)度顯示。 為了了解進(jìn)程條的功能,在窗體里添加一個進(jìn)程條和一個命令鈕,雙擊命令鈕進(jìn)入代碼窗口,鍵入如下代碼: Private Sub Command1_Click() If ProgressBar1.Value < ProgressBar1.Max Then ProgressBar1.Value = ProgressBar1.Value + 5 Else ProgressBar1.Visible = False ‘當(dāng)進(jìn)程條滿了的時候讓進(jìn)程條消失 End If End Sub 4. 創(chuàng)建滑塊 (1). 選擇滑塊的外觀 1). Orientation屬性決定滑塊的方位,可以是垂直的或水平的滑塊。 2). TickStyle屬性決定滑塊標(biāo)記的樣子。 3). TickFrequency屬性規(guī)定了沿著滑塊的標(biāo)記的間隔大小,缺省的狀態(tài)是1,表明每個可能值都出現(xiàn)標(biāo)記,如果把值設(shè)置為3,則每三個可能值出現(xiàn)一個標(biāo)記。 (2) 滑塊的Min,Max,Value屬性 這三個屬性和進(jìn)程條的這三個屬性差不多,Min,Max表示滑塊的最小和最大值,Value表示進(jìn)程條的當(dāng)前值。 (3) 滑塊的LargeChange,SmallChange屬性 LargeChange規(guī)定了當(dāng)用戶用鼠標(biāo)單擊滑塊時,滑塊可移動的距離。SmallChange規(guī)定了用戶按左箭頭或右箭頭時滑塊的移動距離。 5. 創(chuàng)建TabStrip頁框控件 |
|
|