版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第六章常用控件與窗體6.1選擇性控件6.2滾動(dòng)條控件6.3時(shí)鐘控件6.4控件數(shù)組控件的分類:分為三類
1.標(biāo)準(zhǔn)控件:內(nèi)部控件出現(xiàn)在工具箱上的控件,20個(gè)2.ActiveX控件:
ActiveX部件:是可以重復(fù)使用的編程代碼和數(shù)據(jù) 是由用ActiveX技術(shù)創(chuàng)建的一個(gè)或多個(gè)對(duì)象所組成
ActiveX部件文件:擴(kuò)展名OCX,在Windows的SYSTEM目錄中3.可插入對(duì)象
Windows應(yīng)用程序的對(duì)象 可插入對(duì)象可添加到工具箱上 同標(biāo)準(zhǔn)控件一樣使用 例如:MicrosoftExcel工作表6.1選擇性控件復(fù)選框(CheckBox)單選鈕(OptionButton)列表框(ListBox)組合框(ComboBox)一、單選鈕和復(fù)選框1、屬性:Caption屬性:文本標(biāo)題。Alignment屬性: 0:控件鈕在左邊,標(biāo)題顯示在右邊。
1:控件鈕在右邊,標(biāo)題顯示在左邊。Value屬性:
單選鈕(邏輯型)
檢查框(數(shù)值型)
True:選定 0--Unchecked:未被選定(默認(rèn))
False:未選定(默認(rèn))
1--Checked:選定
2--Grayed:灰色,禁止選擇Style屬性:0--Standard:標(biāo)準(zhǔn)方式
1--Graphical:圖形方式2、事件:Click
單選和復(fù)選按鈕都能接收Click事件,當(dāng)單擊時(shí)它們會(huì)自動(dòng)改變狀態(tài)。二、框架(Frame):框架內(nèi)控件的創(chuàng)建方法:方法1:?jiǎn)螕艄ぞ呦渖系墓ぞ?,然后用出現(xiàn)的“+”指針,在框架中適當(dāng)位置拖拉出適當(dāng)大小的控件。
不能使用雙擊工具箱上圖標(biāo)的自動(dòng)方式。方法2:將控件“剪切”到剪貼板,然后粘貼(Ctrl+V)到框架。Caption屬性:框架標(biāo)題
Enabled屬性
False:標(biāo)題呈灰色,不允許對(duì)框架內(nèi)的對(duì)象進(jìn)行操作。
Visible屬性
True:框架及其控件可見。
False:框架及其控件被隱含起來(lái)。
事件:Click、DblClick
一般不需要編寫框架的事件過(guò)程。三、列表框(ListBox):顯示項(xiàng)目列表,用戶可從中選擇一個(gè)或多個(gè)項(xiàng)目。如果有較多的選擇項(xiàng),超出所畫的區(qū)域而不能一次全部顯示時(shí),VB會(huì)自動(dòng)加上滾動(dòng)條。通常在一個(gè)列表框中只能選擇一項(xiàng),但當(dāng)列表框的MultiSelect屬性為1或2時(shí)允許多項(xiàng)選擇。列表框最主要的特點(diǎn)是只能從其中選擇,而不能直接修改其中的內(nèi)容。1、屬性:(1)基本屬性:Name、Enabled、Visible、Index等(2)List屬性:字符型數(shù)組,存放列表框的項(xiàng)目,下標(biāo)是從0開始的。(3)ListIndex:表示執(zhí)行時(shí)選中的列表項(xiàng)序號(hào),如果未選定任何項(xiàng)時(shí)為-1。(4)ListCount:表示列表框中項(xiàng)目的數(shù)量,ListCount-1表示最后一項(xiàng)的序號(hào)。(5)Selected:是一個(gè)邏輯數(shù)組,其元素對(duì)應(yīng)列表框中相應(yīng)的項(xiàng),表示對(duì)應(yīng)的項(xiàng)在程序運(yùn)行期間是否被選中。Selected(i)的值為True表示第i+1項(xiàng)被選中。(6)Sorted:決定列表框中項(xiàng)目在運(yùn)行期間是否按字母順序排列顯示。如為True:按字母順序排列;如為False:按加入先后順序排列。(7)Text:表示列表項(xiàng)中被選定的文本內(nèi)容。是默認(rèn)的屬性。注意:List1.List(List1.ListIndex)=List1.Text。(8)MultiSelect:0-None:禁止多項(xiàng)選擇(默認(rèn))。1-Simple:簡(jiǎn)單多項(xiàng)選擇。鼠標(biāo)單擊或按空格鍵表示選定或取消選定一個(gè)選擇項(xiàng)。2-Extended:擴(kuò)展多項(xiàng)選擇。按住Ctrl鍵同時(shí)用鼠標(biāo)單擊或按空格鍵表示選定或取消選定一個(gè)選擇項(xiàng);按住Shift鍵同時(shí)單擊,或按住Shift并且移動(dòng)光標(biāo)鍵,就可以從前一個(gè)選定的項(xiàng)擴(kuò)展選擇到當(dāng)前選擇項(xiàng),即選定多個(gè)連續(xù)項(xiàng)。其中:List既可在設(shè)計(jì)狀態(tài)設(shè)置,也可在程序中設(shè)置或引用。
Sorted、MultiSelect
只能在設(shè)計(jì)狀態(tài)設(shè)置。
ListIndex、ListCount、Selected、Text只能在程序中設(shè)置或引用。2、方法列表框中的選擇項(xiàng)可以簡(jiǎn)單地在設(shè)計(jì)狀態(tài)通過(guò)List屬性設(shè)置,也可通過(guò)相應(yīng)方法來(lái)實(shí)現(xiàn)。(1)AddItem:添加一個(gè)項(xiàng)目 形式:對(duì)象.AddItemitem[,index]
其中:對(duì)象:可以是列表框或組合框
item:必須是字符串表達(dá)式,是要加入的項(xiàng)目
index:決定新增項(xiàng)目在列表框或組合框中的位置,如果省略,則添加在最后。對(duì)于第一個(gè)項(xiàng)目,index為0。(2)RemoveItem:刪除一個(gè)項(xiàng)目 形式:對(duì)象.RemoveItemindex其中:對(duì)象、index同上(3)Clear:清除所有項(xiàng)目 形式:對(duì)象.Clear
其中:對(duì)象可以是列表框、組合框或剪貼板。3、事件:Click、DblClick
一般不需要編寫Click事件過(guò)程 通常在單擊命令按鈕或發(fā)生DblClick事件時(shí)才讀取Text屬性四、組合框(ComboBox):組合框是組合了文本框和列表框的特性而形成的一種控件。組合框在列表框中列出可供用戶選擇的選項(xiàng),另外還有一個(gè)正文框。當(dāng)用戶選定某項(xiàng)后,該項(xiàng)內(nèi)容自動(dòng)裝入文本框中。當(dāng)列表框中沒(méi)有所需選項(xiàng)時(shí),除了下拉式列表框(Style為2)之外都允許在文本框中用鍵盤輸入,但輸入的內(nèi)容不能自動(dòng)添加到列表框中。組合框占用屏幕空間比列表框要小。組合框有三種不同的風(fēng)格,由Style屬性值決定。1、屬性:組合框擁有列表框和文本框的大部分屬性。組合框也有SelLength、SelStart、SelText這三個(gè)文本框才有的屬性。組合框特有的屬性:Style(列表框特有的屬性:MultiSelect、Selected)類型Style輸入下拉式組合框0(默認(rèn))能簡(jiǎn)單組合框1能下拉式列表框2不能2、方法:
同列表框3、事件:
Click,只有簡(jiǎn)單組合框才有DblClick事件6.2滾動(dòng)條
1、重要屬性
Max:最大值 -32,768~32,767 Min:最小值 -32,768~32,767
SmallChange
最小變動(dòng)值,單擊箭頭時(shí)移動(dòng)的增量值。
LargeChange
最大變動(dòng)值,單擊空白處時(shí)移動(dòng)的增量值。
Value滑塊所處位置所代表的值。水平滾動(dòng)條垂直滾動(dòng)條SmallChangeMinValueMaxSmallChangeLargeChange
LargeChangeSlider控件Slider須通過(guò):“工程/部件”,選擇:MicrosoftWindowscommonControl6.0部件2、事件:
Scroll:拖動(dòng)滑塊時(shí)會(huì)觸發(fā)Scroll事件。
Change:Value屬性改變時(shí)觸發(fā)Change事件。6.3時(shí)鐘控件(Timer)
時(shí)鐘控件能有規(guī)律地以一定的時(shí)間間隔激發(fā)計(jì)時(shí)器事件,周期性地自動(dòng)執(zhí)行相應(yīng)的程序代碼。它必須依附在窗體上,在程序運(yùn)行時(shí),它是不可見的。以Interval為時(shí)間間隔產(chǎn)生Timer事件。屬性:Interval屬性 單位:ms(0.001s),介于0~64767之間,所以最大時(shí)間間隔大約1min。如:0.5秒是500ms。
Interval=0:屏蔽計(jì)時(shí)器。
Enabled屬性:True:有效計(jì)時(shí)
False:停止時(shí)鐘工作事件:只有Timer事件6.4控件數(shù)組 本節(jié)介紹控件數(shù)組,控件數(shù)組為我們處理功能相近的控件提供了極大的方便。6.4.1控件數(shù)組的概念 在實(shí)際應(yīng)用中,我們有時(shí)會(huì)用到一些類型相同且功能類似的控件。如果對(duì)每一個(gè)控件都單獨(dú)處理,就會(huì)多做一些麻煩而重復(fù)的工作。這時(shí),我們可以用控件數(shù)組來(lái)簡(jiǎn)化程序。 控件數(shù)組由一組相同類型的控件組成,這些控件共用一個(gè)控件名字,具有相似的屬性設(shè)置,共享同樣的事件過(guò)程??丶?shù)組中各個(gè)控件相當(dāng)于普通數(shù)組中的各個(gè)元素,同一控件數(shù)組中各個(gè)控件的Index屬性相當(dāng)于普通數(shù)組中的下標(biāo)。 比如,假設(shè)有一個(gè)包含3個(gè)按鈕的控件數(shù)組Command1,它的3個(gè)元素就是Command1(0),Command1(1),Command1(2)。6.4.2控件數(shù)組的建立 控件數(shù)組中每一個(gè)元素都是控件,它的定義方式與普通數(shù)組不同??梢酝ㄟ^(guò)以下兩種方法建立控件數(shù)組。 方法一:復(fù)制已有的控件并將其粘貼到窗體上。 方法二:將窗體上已有的類型相同的多個(gè)控件的Name屬性設(shè)置為同一值。6.4.3控件數(shù)組的應(yīng)用舉例 建立了控件數(shù)組之后,控件數(shù)組中所有控件共享同一事件過(guò)程。例如,假定某個(gè)控件數(shù)組含有10個(gè)標(biāo)簽,則不管單擊哪個(gè)標(biāo)簽,系統(tǒng)都會(huì)調(diào)用同一個(gè)Click過(guò)程。由于每個(gè)標(biāo)簽在程序中的作用不同,系統(tǒng)會(huì)將被單擊的標(biāo)簽的Index屬性值傳遞給過(guò)程,由事件過(guò)程根據(jù)不同的Index值執(zhí)行不同的操作。
【例6.12】設(shè)計(jì)一個(gè)簡(jiǎn)易計(jì)算器,能進(jìn)行整數(shù)的加、減、乘、除運(yùn)算。其運(yùn)行界面如圖7-8所示。 界面設(shè)計(jì): 一個(gè)標(biāo)簽用于計(jì)算器輸出;數(shù)字按鈕控件數(shù)組Number;操作符控件數(shù)組Operator;一個(gè)“=”按鈕用于計(jì)算結(jié)果;一個(gè)“Cls”按鈕用于清屏。 程序如下:
'窗體級(jí)變量聲明
Dimop1AsByte'用來(lái)記錄前面輸入的操作符
Dimops1&,ops2&'兩個(gè)操作數(shù)
DimresAsBoolean'用來(lái)表示是否已算出結(jié)果
PrivateSubclear_Click()
dataout.Caption=""EndSub
PrivateSubForm_Load()
res=FalseEndSub
'按下數(shù)字鍵0~9的事件過(guò)程
PrivateSubnumber_Click(i1AsInteger)
IfNotresThen
dataout.Caption=dataout.Caption&i1Else
dataout.Caption=i1
res=FalseEndIfEndSub
'按下操作鍵+、-、×、/的事件過(guò)程
PrivateSuboperator_Click(i2AsInteger)
ops1=dataout.Captionop1=i2'記下對(duì)應(yīng)的操作符
dataout.Caption=""EndSub
'按下=鍵的事件過(guò)程
PrivateSubresult_Click()
ops2=dataout.CaptionSelectCaseop1Case0
dataout.Caption=ops1+ops2Case1
dataout.Caption=ops1-ops2
Case2
dataout.Caption=ops1*ops2Case3
dataout.Caption=ops1/ops2EndSelect
res=True'已算出結(jié)果
EndSub6.5鼠標(biāo)事件和鍵盤事件 鼠標(biāo)對(duì)于Windows應(yīng)用程序設(shè)計(jì)來(lái)說(shuō)幾乎是必需的,尤其是在圖形圖像處理的程序設(shè)計(jì)中,顯得更為重要。而鼠標(biāo)應(yīng)用的基礎(chǔ)是鼠標(biāo)事件。下面我們就來(lái)簡(jiǎn)單介紹一下窗體鼠標(biāo)事件及其應(yīng)用。
6.5.1鼠標(biāo)事件 除了單擊(Click)和雙擊(DblClick)外,基本的鼠標(biāo)事件還有3個(gè):MouseDown、
MouseUp和MouseMove。工具箱中的大多數(shù)控件都能響應(yīng)這3個(gè)事件。MouseDown:鼠標(biāo)的任一鍵被按下時(shí)觸發(fā)該事件。MouseUp:鼠標(biāo)的任一鍵被釋放時(shí)觸發(fā)該事件。MouseMove:鼠標(biāo)被移動(dòng)時(shí)觸發(fā)該事件。以Form對(duì)象為例,它們的語(yǔ)法格式為:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)PrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)【例6.12】顯示鼠標(biāo)指針的當(dāng)前位置。 程序如下:
PrivateSubForm_MouseMove(ButtonAsInteger,_ShiftAsInteger,XAsSingle,YAsSingle)
Text1.Text=XText2.Text=YEndSub
運(yùn)行結(jié)果如圖6-6所示。6.5.2鍵盤事件
VB中的對(duì)象識(shí)別鍵盤事件,包括KeyPress、KeyUp和KeyDown事件。用戶按下并且釋放一個(gè)ANSI鍵時(shí)就會(huì)觸發(fā)KeyPress事件;用戶按下一個(gè)鍵時(shí)觸發(fā)KeyDown事件,釋放引發(fā)KeyUp事件。在引發(fā)鍵盤事件的同時(shí),用戶所按的鍵盤碼作為實(shí)參傳遞給相應(yīng)的事件過(guò)程,供程序判斷識(shí)別用戶的操作。
KeyPress只響應(yīng)按下標(biāo)準(zhǔn)ASCII字符表中對(duì)應(yīng)的鍵時(shí)的事件,如[Enter]QVFP、[Tab]鍵、[Backspace]鍵等以及標(biāo)準(zhǔn)鍵盤中的字母、標(biāo)點(diǎn)、數(shù)字鍵等。而KeyDown和KeyUP則提供了最低級(jí)的鍵盤響應(yīng)。 它們的格式如下:SubObject_KeyPress([IndexAsInteger,]KeyAsciiAsInteger)SubObject_KeyDown
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人研修心得感悟
- 會(huì)計(jì)電算化專業(yè)求職信范文
- 亞運(yùn)會(huì)心得體會(huì)
- 中職學(xué)校開學(xué)典禮教導(dǎo)主任精彩講話稿(5篇)
- 個(gè)人情緒管理心得體會(huì)范文(19篇)
- 動(dòng)物聚餐課件教學(xué)課件
- 探究天然植物制備酸堿指示劑及其pH范圍
- 慢性支氣管炎臨床路徑
- 學(xué)校教職工代表大會(huì)規(guī)定
- 航空航天用1100MPa MJ螺紋花鍵頭螺栓 征求意見稿
- 呼出氣一氧化氮測(cè)定-課件
- 主動(dòng)脈球囊反搏術(shù)IABP
- SHSG0522023年石油化工裝置工藝設(shè)計(jì)包(成套技術(shù))內(nèi)容規(guī)定
- 專業(yè)技術(shù)人員檔案(空表)
- 中等職業(yè)學(xué)校語(yǔ)文考試復(fù)習(xí)課件
- 小學(xué)一年級(jí)語(yǔ)文《有趣的漢字》原文、教案及教學(xué)反思(優(yōu)秀3篇)
- 公司員工勞保用品發(fā)放標(biāo)準(zhǔn)和管理辦法
- 詩(shī)詞大會(huì)訓(xùn)練題庫(kù)十二宮格
- 機(jī)械設(shè)計(jì)課程設(shè)計(jì)說(shuō)明書 11機(jī)電本 劉偉華
- 問(wèn)卷1:匹茲堡睡眠質(zhì)量指數(shù)量表(PSQI)
評(píng)論
0/150
提交評(píng)論