chap7(常用標準控件)_第1頁
chap7(常用標準控件)_第2頁
chap7(常用標準控件)_第3頁
chap7(常用標準控件)_第4頁
chap7(常用標準控件)_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第七章常用標準控件

--構成用戶界面的基本元素1主要內(nèi)容控件簡述復選框、單選按鈕列表框、組合框圖片框、圖像框定時器框架滾動條線條形狀27.0控件簡述分類內(nèi)部控件:標準控件(工具箱內(nèi)20個)ActiveX控件:擴展名為.OCX可插入對象名稱控件創(chuàng)建后有一個默認的名稱如:command1,form1等。一般使用有一定意義的控件名稱

名字組成:前綴(3個小寫字母)+英語單詞

<控件的類型><控件的用途>3常用控件名稱前綴控件前綴舉例FormfrmfrmCaleLabellbllblOptionsTexttxttxtNameCommandButtoncmd,btncmdOK,btnEndCheckBoxchkchkStyleOptionButtonoptoptColorFramefrafraOptionsComboBoxcbocboPlayerHScrollBarhsbhsbTempVScrollBarvsbvsbVolumnTimertmrtmrHourListBoxlstlstNumbers4

焦點

概念:只有具有焦點的控件對象才能接受用戶由鼠標和鍵盤的輸入??丶邮盏浇裹c時的外觀顯示:其內(nèi)側有一個虛線框5

控件對象獲得焦點時:觸發(fā)GetFocus事件失去焦點時:觸發(fā)LostFocus事件??丶@得焦點的途徑

運行時:按Tab鍵,快捷鍵,鼠標點擊編程時:調(diào)用SetFocus方法。如text1.SetFocus6注意:只有當控件的Enable和Visible屬性均為True時,控件才能接受焦點某一控件獲得焦點時,其它控件將失去焦點窗體內(nèi)的所有控件都不能接受焦點時,窗體才能接受焦點不是所有控件都能接受焦點如Timer、shape、frame、label、line、image等。7Tab順序定義:程序運行中,用戶按下Tab鍵時,焦點在控件上移動的順序。演示默認的Tab順序:控件對象建立的順序調(diào)整:通過控件的TabIndex屬性87.1復選框7.2單選按鈕常用來表示“選中”和“不選”兩種狀態(tài),用戶可以通過改變它們的狀態(tài)而執(zhí)行不同的操作.主要屬性單選鈕的Value:False-未被選中

True

-被選中檢查框的Value:0

-未被選中

1

-被選中

2

-禁止操作,灰顯主要事件:Click 9例顏色背景測試。PrivateSuboption1_Click()Ifoption1.ValueThentext1.BackColor=vbBlack

endif

EndSubPrivateSuboption2_Click()Ifoption2.ValueThentext1.BackColor=vbYellowEndSub107.3框架(Frame)作用:容器控件。為控件提供可標識的分組??稍诠δ苌线M一步分割一個窗體。例,把OptionButton控件分成幾組。使用步驟:先繪制Frame控件,后繪制Frame里面的控件。(此時,框架和里面的控件可以同時移動)常用屬性:Caption117.4列表框(ListBox)作用顯示項目列表,用戶可從中選擇一項或多項。若項目總數(shù)超過了可顯示的項目數(shù),就自動在ListBox控件上添加滾動條。常用屬性

12屬性名屬性值說明Cloummns0(默認)項目安排在一列中、且ListBox豎直滾動>0項目安排在多個列中,先填第一列,再填第二列,等等。ListBox水平滾動并顯示指定數(shù)目的列List字符串數(shù)組每個數(shù)組元素對應一個項目ListCount整型數(shù)據(jù)列表框項目數(shù)ListIndex當前被用戶選中的項目序號,即對應的List數(shù)組的下標,若無選中項目,值為-1MultiSelect0(默認)只允許單選1簡單多項選擇2擴展多項選擇Selected邏輯型數(shù)組分別對應列表框中的每一項,若某數(shù)組元素的值為True,則表示對應的項目被選中,否則表示未被選中SortedTrue項目排序False項目不排序Text字符型數(shù)據(jù)返回當前被選中的項目內(nèi)容13事件

主要用于顯示項目,實際很少需要編寫列表框的事件處理代碼。常用方法(在程序運行期間修改列表框的內(nèi)容)AddItem----添加ListBox

控件中的項目。每插入一項,ListCount自動加1格式:對象.AddItem項目[,index]14列表框或組合框字符串表達式0至ListCount-1間的值。表示新增項目的位置。缺省為添加到最后。RemoveItem----將指定位置的項目刪除,同時ListCount自動減1格式:對象.RemoveItem位置值Clear

格式:對象.clear

功能:清除所有項目,ListCount置015例編寫一個能對列表框進行項目添加、修改、刪除操作的應用程序。☆16Privatesubform_load()List1.additem"文化基礎"List1.additem"VB6.0"List1.additem"操作系統(tǒng)"List1.additem"多媒體技術"List1.additem"網(wǎng)絡技術基礎"Endsub17PrivatesubcmdAdd_click()List1.addItemtext1.texttext1=""Endsub18PrivatesubcmdDel_click()List1.RemoveItemlist1.listIndexEndsubPrivatesubcmdMod_click()Text1.Text=List1.texttext1.setFocus

cmdAdd.enabled=false:cmdDel.enabled=falsecmdMod.enabled=false:cmdMod_ok.enabled=trueEndsub19Privatesub

cmdMod_ok_click()

List1.list(list1.listindex)=text1.textcmdAdd.enabled=True:cmdDel.enabled=TruecmdMod.enabled=True:cmdMod_ok.enabled=falseText1.text=""Endsub7.5組合框(ComboBox)作用:TextBox+ListBox

既可以在控件的文本框部分輸入信息,也可以在控件的列表框部分選擇一項。20組合框屬性21Style0(缺省值)下拉式組合框。顯示在屏幕上的是文本編輯框和一個下拉箭頭,可以輸入項目或從列表中選取項目。1簡單組合框。它列出所有項目供用戶選擇,右邊沒有下拉箭頭,列表框不能被收起或拉下,與文本框一起顯示在屏幕上??梢栽谖谋究蛑休斎肓斜砜蛑袥]有的項目。2下拉式列表框。與“下拉式組合框”類似,區(qū)別是不能輸入列表框中沒有的項。Text存放用戶所選項目內(nèi)容或直接輸入的文本22事件

Style屬性值可響應事件

0Click,DblClick,Change,DropDown1Click,DblClick,Change2Click,DropDown

一般情況下,組合框只用于讀取其text屬性。單擊組合框中向下的箭頭時觸發(fā)方法

AddItem,RemoveItem,Clear7.6滾動條分類水平滾動條(HScrollBar)

垂直滾動條(VScrollBar)23滾動箭頭滾動框屬性24屬性名

說明Value滾動框在滾動條上的當前位置MaxValue所能表示的最大值MinValue所能表示的最小值LargeChange當用戶單擊滾動框和滾動箭頭之間的區(qū)域時,滾動條控件的Value屬性值的改變量SmallChange當用戶單擊滾動箭頭時,滾動條控件的Value屬性值的改變量。事件Scroll

拖動滾動框時觸發(fā),單擊滾動箭頭或滾動條時不發(fā)生Change

滾動框被移到新位置后,或

Value值發(fā)生變化時觸發(fā)2526例說說編寫以下程序的步驟。步驟建立控件:4個標簽、1個文本框、1個滾動條設置標簽的caption、borderStyle屬性設置滾動條屬性

max、min、

largeChange、smallChange滾動條的事件編程

PrivateSubHScroll1_Scroll()Label4.Caption="movingto"+Str(HScroll1.Value)Text1.Text=Str$(HScroll1.Value)EndSub277.7定時器(Timer)功能每當經(jīng)過一個Interval屬性所設定的時間間隔,就引發(fā)Timer事件,執(zhí)行一次timer事件的代碼。用于背景進程中,運行時不可見事件:Timer28屬性Interval:設定時鐘觸發(fā)事件的時間間隔。有效值:1~65535單位:毫秒

(1秒=103毫秒)Enabled:決定該控件是否對時間的推移做響應。

False---關閉Timer控件

True---打開Timer控件。倒計時總是從Interval屬性的設置值開始。29例數(shù)字時鐘?!頟rivateSubTimer1_Timer()Label1.FontName="timesnewroman"Label1.FontSize=48Label1.Caption=Time$EndSub30獲取系統(tǒng)當前時間例:顯示隨機數(shù)據(jù)☆PrivateSubForm_Load()Timer1.Enabled=FalseEndsubPrivateSubcmdStart_Click()Timer1.Enabled=TrueEndsubPrivateSubcmdStop_Click()Timer1.Enabled=False:Endsub31PrivateSubTimer1_Timer()DimrndValue&RandomizerndValue=Int((10000000*Rnd)+1)Text1.FontSize=46Text1.FontName="timesnewroman"Text1.Text=Str$(rndValue)EndSub327.8圖片框7.9圖像框共同點:用于在窗體的指定位置顯示圖形信息,可裝入多種格式的圖形文件。區(qū)別圖片框:更靈活可作為父控件,即可以包含其他控件可用print方法接收文本圖像框:占用內(nèi)存更少,顯示速度快,優(yōu)先考慮不可作為父控件不可用print方法接收文本33VB為二者提供的屬性與窗體屬性相同的屬性

enabled、name、visible、height、topCurrentX和CurrentY屬性只能用在程序,用來設置下一個輸出的坐標(水平或垂直)。

Picture1.CurrentX=340(單位:twip)Picture屬性設置顯示的圖形文件。VB支持的圖形文件格式Stretch屬性(圖像框)

自動調(diào)整圖像框中圖形內(nèi)容的大小34VB支持的圖形格式名稱擴展名

說明

備注JPEG.jpg一種支持8位和24位顏色的壓縮位圖格式GIF.gif支持256種顏色的壓縮位圖格式Metafile圖元文件.wmf.emf將圖形定義為編碼的線段和圖形要與OS兼容Bitmap位圖.bmp.dib將圖形定義為由點組成的圖形Icon圖標.ico.cur特殊類型的位圖35圖形文件的裝入在設計階段裝入

way1:

通過picture屬性

way2:

利用剪貼板把圖形粘貼到窗體、圖片框或圖像框☆

在運行期間裝入

[對象.]picture=LoadPicture("文件名"

)例:picture1.picture=LoadPicture("c:\arw4.ico")picture1.picture=LoadPicture()刪除原圖片367.10線條線條用來在窗體、框架或圖片框中創(chuàng)建簡單的線段。一般通過屬性窗口可設置其位置、長度、顏色和樣式等外觀。3738屬性名稱屬性值

明BorderColor顏色值設置直線的邊框顏色BorderStyle0(Transparent)設置邊框樣式為透明,即不可見1(Solid)(默認值)設置邊框樣式為實線2(Dash)設置邊框樣式為虛線3(Dot)設置邊框樣式為點線4(Dash-Dot)設置邊框樣式為點劃線5(Dash-Dot-Dot)設置邊框樣式為雙點劃線6(InsideSolid)設置邊框樣式為內(nèi)實線BorderWidth整型數(shù)值設置邊框寬度X1,Y1線條控件的起始點坐標X2,Y2線條控件的終止點坐標7.11形狀屬性shape

用來確定所畫形狀的幾何特性,有6種值,對應不同的幾何形狀。

0---rectangle1---square2---Oval3---Circle4---RoundedRectangle5---RoundedSquare39例編寫程序,模擬交通信號燈的切換?!頟rivateSubForm_Load()Image2.Visible=FalseImage3.Visible=FalseEndSub40PrivateSubCommand1_Click()IfImage1.Visible=TrueThenImage1.Visible=False:Image2.Visible=TrueElseIfImage2.Visible=TrueThenImage2.Visible=False:Image3.Visible=TrueElseIfImage3.Visible=TrueThenImage3.Visible=False:Image1.Visible=TrueEndIfEndSub417.12綜合應用4243例計算機配置。要求:(1)一個列表框提供計算機品牌選項。(2)兩個單選按鈕組分別提供CPU品牌和內(nèi)存容量大小選項。(3)一個復選框組提供配置計算機的其他設備選項。(4)用戶選擇各個選項后,單擊“確定”按鈕,右邊列表框中顯示用戶的選項信息。(5)用戶單擊“清除”按鈕,右邊列表框中將清除所有信息。

44PrivateSubForm_Load()'在左邊列表框中添加計算機品牌選項List1.AddItem"聯(lián)想"List1.AddItem"方正"List1.AddItem"IBM"List1.AddItem"三星"List1.AddItem"索尼"List1.AddItem"兼容機"List2.Clear'窗體加載時,清除右邊列表框中的信息EndSub45PrivateSubCommand1_Click()'“確定”按鈕的單擊事件過程List2.AddItemList1.Text'添加左邊列表框中的選項'添加CPU型號選項IfOption1.ValueThen List2.AddItemOption1.CaptionElseIfOption2.ValueThen List2.AddItemOption2.CaptionElse List2.AddItemOption3.CaptionEndIf'添加內(nèi)存大小選項IfOption4.ValueThenList2.AddItemOption4.CaptionElseList2.AddItemOption5.CaptionEndIf'添加其他配件選項IfCheck1.ValueThenList2.AddItemCheck1.CaptionIfCheck2.ValueThenList2.AddItemCheck2.CaptionIfCheck3.ValueThenList2.AddItemCheck3.CaptionEndSub46PrivateSubCommand2_Click()'“清除”按鈕的單擊事件過程List2.Clear'清除右邊列表框中的信息EndSub47例☆

48PrivateSubForm_load()'向列表框1中添加選項

List1.AddItem"宮爆雞丁" List1.AddItem"魚香肉絲" List1.AddItem"青菜蘑菇" List1.AddItem"清蒸廬魚" List1.AddItem"鐵板牛排"EndSub49另:將列表框的multiselect屬性設置為1,支持多選。PrivateSubCommand1_Click()'此按鈕用于向列表框2中加入點菜DimN%,C%'N----列表框1的選項總序號C----計數(shù)變量N=List1.ListCount-1C=0DoWhileC<=N IfList1.Selected(C)Then List2.AddItemList1.List(C)

List1.RemoveItemC N=N-1

Else C=C+1 EndIf LoopEndSub50判斷第c項是否被選中PrivateSubCommand2_Click()'此按鈕用于向列表框1中退回點菜DimN%,C%'N----列表框2的選項總序號C----計數(shù)變量N=List2.ListCount-1C=0DoWhileC<=N IfList2.Selected(C)Then List1.AddItemList2.List(C)

List2.RemoveItemC N=N-1

Else C=C+1 EndIf LoopEndSub51例題

☆52

例設計一個加法速度測試程序,當用戶單擊“開始”按鈕后,開始計時,并在文本框1、2中顯示隨機產(chǎn)生的被加數(shù)和加數(shù)。用戶在文本框3中輸入答案,按回車鍵后程序在答案后面給出“√”“╳”指示對錯。1分鐘后統(tǒng)計出題數(shù)量和做對數(shù)量。用戶可單擊“繼續(xù)”按鈕繼續(xù)測試或關閉窗口退出程序。53文本框3時鐘1命令按鈕1CmdStart標簽5lbljudge、LblCountDimaAsInteger,bAsIntegerPrivateSubForm_Load()Text1.FontSize=30:Text2.FontSize=30Text3.FontSize=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論