VB6教程第6章常用控件與多窗體.ppt_第1頁
VB6教程第6章常用控件與多窗體.ppt_第2頁
VB6教程第6章常用控件與多窗體.ppt_第3頁
VB6教程第6章常用控件與多窗體.ppt_第4頁
VB6教程第6章常用控件與多窗體.ppt_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第6章常用控件與多窗體,第3章介紹了窗體的使用及最基本控件的屬性、事件和方法。本章介紹另外的幾個常用控件以及多窗體。主要內(nèi)容有:圖片框與圖像框、定時器、單選鈕與復選框、框架、列表框與組合框滾動條、焦點與Tab順序、多窗體。,退出,6.1圖片框與圖像框6.2定時器6.3單選鈕與復選框6.4容器與框架6.5列表框與組合框6.6滾動條6.7焦點與Tab順序6.8多窗體,6.1圖片框與圖像框,圖片框控件(PictureBox)和圖像框控件(ImageBox)主要用于在窗體的指定位置顯示圖形信息。VB6.0支持.bmp、.ico、.wmf、.emf、.jpg、.gif等格式的圖形文件。6.1.1圖片框、圖像框的常用屬性1Picture屬性圖片框和圖像框中顯示的圖片由Picture屬性決定。圖形文件可以在設計階段裝入,也可以在運行期間裝入。,(1)在設計階段裝入在設計階段,可以用屬性窗口中的Picture屬性裝入圖形文件。(2)在運行期間裝入在運行期間,可以用LoadPicture函數(shù)把圖形文件裝入圖片框或圖像框中。語句格式如下:對象名.Picture=LoadPicture(filename),2AutoSize屬性該屬性用于圖片框。決定控件是否自動改變大小以顯示圖像全部內(nèi)容。缺省值為False,此時保持控件大小不變,超出控件區(qū)域的內(nèi)容被裁減掉;若值為True時,自動改變控件大小以顯示圖片全部內(nèi)容(注意:不是圖形改變大?。?。3stretch屬性用于圖像框。當該屬性的取值為False時,圖像控件將自動改變大小以與圖形的大小相適應;當其值為True時,顯示在控件中的圖像的大小將完全適合于控件的大小,這時,圖片可能會變形。,6.1.2圖片框、圖像框的區(qū)別(1)圖片框控件可以作為其它控件的容器。(2)圖片框可以通過Print方法接收文本,而圖像框則不能接收用Print方法輸入的信息。(3)圖像框比圖片框占用的內(nèi)存少,顯示速度快。,6.2定時器,VB提供了一種叫定時器(Timer)的控件。定時器每隔一定的時間間隔就產(chǎn)生一次Timer事件(可理解為報時),用戶可以根據(jù)這個特性設置時間間隔控制某些操作或用于計時。1屬性定時器控件的屬性不是很多,最常用的是Interval屬性,該屬性用來決定兩次調(diào)用定時器的間隔,以ms為單位,取值范圍為065535,所以最大時間間隔不能超過66s,該屬性的缺省值為0,即定時器控件不起作用。如果希望每秒產(chǎn)生n個事件,則應設置屬性Interval的值為1000/n。,2事件定時器只支持Timer事件。對于一個含有定時器控件的窗體,每經(jīng)過一段由屬性Interval指定的時間間隔,就產(chǎn)生一個Timer事件?!纠?.2】建立數(shù)字計時器,要求每秒鐘時間變化一次。設計界面:在窗體上添加一個定時器控件、一個標簽,并按表6-1設置屬性。,程序代碼如下:PrivateSubTimer1_Timer()Label1.FontSize=48Label1.Caption=Time將Time函數(shù)返回的系統(tǒng)時間顯示在標簽中EndSub執(zhí)行結果如下圖6-3所示,每隔1s鐘顯示一次時間。,6.3單選鈕與復選框,有時希望在應用程序的界面上提供一些項目,讓用戶從幾個選項中選擇其中之一,這就要用“單選鈕”控件。如果有多個選擇框,每個選擇框都是獨立的、互不影響的,用戶可以任意選擇它們的狀態(tài)組合,則可以用“復選框”控件。6.3.1單選鈕單選鈕(OptionButton)通常成組出現(xiàn),主要用于處理“多選一”的問題。用戶在一組單選鈕中必須選擇一項,并且最多只能選擇一項。當某一項被選定后,其左邊的圓圈中出現(xiàn)一個黑點。例如,圖6-4所示就是一組單選鈕,用戶只能在這3個單選鈕選項中選擇一個。,1屬性(1)Value屬性該屬性表示單選按鈕選中或不被選中的狀態(tài)。True為選中;False為不被選中。(2)Caption屬性該屬性顯示出現(xiàn)在單選鈕旁邊的文本。(3)Style屬性該屬性用來設置控件的外觀。值為0時,控件顯示如圖6-4所示標準樣式;值為1時,控件外觀類似命令按鈕。一般說來,單選鈕總是作為一個組(單選鈕組)發(fā)揮作用的。圖6-4關于顏色的單選鈕就是一個按鈕組。,2事件單選鈕常用事件是Click事件?!纠?.4】程序運行后,單擊某個單選鈕,在標簽中顯示相應的字體。運行結果如圖6-5所示。分析:需要在窗體上建立一個標簽和3個單選鈕,其主要屬性設置如表6-2所示。,事件過程代碼如下:PrivateSubkai_Click()Label1.FontName=楷體_gb2312EndSubPrivateSubli_Click()Label1.FontName=隸書EndSubPrivateSubsong_Click()Label1.FontName=宋體EndSub,6.3.2復選框復選框(CheckBox)也稱檢查框,單擊復選框一次時被選中,左邊出現(xiàn)“”號,再次單擊則取消選中,清除復選框中的“”??赏瑫r使多個復選框處于選中狀態(tài),這一點和單選按鈕不同。如圖6-6所示,有四個復選框。,1屬性(1)Value屬性決定復選框的狀態(tài):0未選中,1已選中,2變灰暗。(2)Picture屬性用來指定當復選框被設計成圖形按鈕時的圖像。2事件復選框常用事件為Click事件。,【例6.5】用復選框控制文本是否加下劃線和斜體顯示。在程序執(zhí)行期間,如果選定“加下劃線”復選框,則文本框中的內(nèi)容就加上了下劃線,如果清除“加下劃線”復選框,則文本框中的內(nèi)容就沒有下劃線;如果選定“斜體”復選框,則文本框中的文字字形就變成斜體,如果清除“斜體”復選框,則文本框中的文字字形就不是斜體。運行界面如圖6-7所示。,設計界面:在窗體上建立一個文本框,兩個復選框。3個控件的屬性如表6-3所示。,編寫如下事件過程:PrivateSubCheck1_Click()IfCheck1.Value=1ThenText1.FontUnderline=TrueElseText1.FontUnderline=FalseEndIfEndSub,PrivateSubCheck2_Click()IfCheck2.Value=1ThenText1.FontItalic=TrueElseText1.FontItalic=FalseEndIfEndSubPrivateSubForm_Load()Text1.FontSize=20EndSub,6.4容器與框架,所謂容器,就是可以在其上放置其它控件對象的一種對象。窗體、圖片框和框架都是容器。容器內(nèi)所有控件成為一個組合,隨容器一起移動、顯示、消失和屏蔽。在前一節(jié)例6.3中,是在一個窗體上建立一組單選按鈕,若要在同一窗體上建立幾組相互獨立的單選按鈕,通常用框架控件(Frame)將每一組單選鈕框起來,這樣在一個框架內(nèi)的單選鈕成為一組,對一組單選鈕的操作不會影響其它組的單選鈕。,在窗體上創(chuàng)建框架及其內(nèi)部控件時,應先添加框架控件,然后單擊工具箱上的控件,用“+”指針在框架中以拖拽的方式添加控件,框架內(nèi)的控件不能被拖出框架外。不能用雙擊的方式向框架中添加控件,也不能先畫出控件再添加框架。如果要用框架將窗體上現(xiàn)有的控件進行分組,可先選定控件,將它們剪切后粘貼到框架中。,1屬性(1)Caption屬性框架的標題,位于框架的左上角,用于注明框架的用途。(2)Enabled屬性決定框架中的對象是否可用,通常把Enabled屬性設置為True,以使框架內(nèi)的控件成為可以操作的。2事件Click和DblClick。在大多數(shù)情況下,我們用框架控件對控件進行分組,沒有必要響應它的事件。,【例6.6】使用兩個單選鈕組來改變文本框中文字的顏色和大小。運行結果如圖6-8所示。設計界面:在窗體上添加一個標簽控件,一個命令按鈕;添加一個框架控件,在框架控件上畫上3個單選鈕控件(顏色按鈕組);再添加一個框架控件,在框架控件上畫上兩個單選鈕控件(字體大小按鈕組)。兩個框架的Caption屬性分別設置為“顏色”和“字體大小”,其它控件屬性的設置可以按照圖6-8所示自己進行。,編寫代碼如下:PrivateSubCommand1_Click()endEndSubPrivateSubOption1_Click()藍色單選鈕Label1.ForeColor=&HFF0000EndSubPrivateSubOption2_Click()紅色單選鈕Label1.ForeColor=&HFF&EndSub,PrivateSubOption3_Click()綠色單選鈕Label1.ForeColor=&HFF00&EndSubPrivateSubOption4_Click()文字大小10單選鈕Label1.FontSize=10EndSubPrivateSubOption5_Click()文字大小20單選鈕Label1.FontSize=20EndSub,6.5列表框與組合框,列表框(ListBox)控件將一系列的選項組合成一個列表,用戶可以選擇其中的一個或幾個選項,但不能向列表清單中輸入項目;組合框(ComboBox)控件是綜合文本框和列表框特性而形成的一種控件,用戶可通過在組合框中輸入文本來選定項目,也可從列表中選定項目。,6.5.1列表框列表框控件(ListBox)的主要用途在于提供列表式的多個數(shù)據(jù)項供用戶選擇。在列表框中放入若干個項的名字,用戶可以通過單擊某一項或多項來選擇自己所需要的項目。如果放入的項較多,超過了列表框設計時可顯示的項目數(shù),則系統(tǒng)會自動在列表框邊上加一個垂直滾動條。,1屬性(1)List屬性該屬性是一個字符串數(shù)組,用來保存列表框中的各個數(shù)據(jù)項內(nèi)容。List數(shù)組的下標從0開始,即List(0)保存表中的第一個數(shù)據(jù)項的內(nèi)容。List(1)保存第二個數(shù)據(jù)項的內(nèi)容,依次類推,List(ListCount-1)保存表中的最后一個數(shù)據(jù)項的內(nèi)容。在窗體上添加一個列表框,其外觀如圖6-9所示,圖上所顯示的“List1”是控件的名稱,而不是列表項中的數(shù)據(jù)項。,(2)ListCount屬性該屬性記錄了列表框中的數(shù)據(jù)項數(shù),該屬性只能在程序中引用它。(3)Text屬性用于存放被選中列表項的文本內(nèi)容。該屬性是只讀的,不能在屬性窗口中設置,也不能在程序中設置,只用于獲取當前選定的列表項的內(nèi)容??稍诔绦蛑幸肨ext屬性值。,(4)ListIndex屬性該屬性是List數(shù)組中,被選中的列表項的下標值(即索引號)。如果用戶選擇了多個列表項,則ListIndex是最近所選列表項的索引號;如果用戶沒有從列表框中選擇任何一項,則ListIndex為1。程序運行時,可以使用ListIndex屬性判斷列表框中哪一項被選中。例如,在列表框List1中選中第2項,即List1.List數(shù)組的第2項,則ListIndex1(ListIndex從0開始)。ListIndex屬性不能在設計時設置,只有程序運行時才起作用。,(5)Selected屬性該屬性是一個邏輯數(shù)組,其元素對應列表框中相應的項。表示相應的項在程序運行期間是否被選中。例如,Selected(0)的值為True,表示第一項被選中,如為False,表示未被選中。(6)MultiSelect(多選擇列表項)屬性該屬性值表明是否能夠在列表框控件中進行復選以及如何進行復選。它決定用戶是否可以在控件中做多重選擇,它必須在設計時設置,運行時只能讀取該屬性。Multiselect屬性值的說明如表6-4所示。,(7)SelCount屬性其值表示在列表框控件中所選列表項的數(shù)目,只有在MultiSelect屬性值設置為1(Simple)或2(Extended)時起作用,通常與Selected數(shù)組一起使用,以處理控件中的所選項目。,2方法ListBox對應的控件方法有:AddItem,Clear和RemoveItem(1)AddItem方法該方法向一個列表框中加入列表項,其語法是:Listname.AddItemitem,index(2)RemoveItem方法該方法用于刪除列表框中的列表項,其語法是:Listname.RemoveItemindex,(3)Clear方法該方法刪除列表框控件中的所有列表項。其語法是:Listname.Clear【例6.7】利用列表框和命令按鈕編程,要求程序能夠?qū)崿F(xiàn)添加項目、刪除項目、刪除全部項目的功能。設計界面:在窗體上添加一個列表框(ListBox)控件,3個命令按鈕。屬性設置如表6-5所示。,在程序中添加如下代碼:PrivateSubCommand1_Click()Dimentryentry=InputBox(輸入添加內(nèi)容,添加)List1.AddItementry添加項目EndSub,PrivateSubCommand2_Click()DimiAsIntegerFori=List1.ListCount-1To0Step-1IfList1.Selected(i)ThenList1.RemoveItemi刪除選中項目NextiEndSubPrivateSubCommand3_Click()List1.Clear全部刪除EndSub運行結果如圖6-12所示。,6.5.2組合框組合框(ComoBox)是一種兼有列表框和文本框的功能的控件。它可以像列表框一樣,讓用戶通過鼠標選擇所需要的項目;也可以像文本框一樣,用鍵入的方式選擇項目。1屬性(l)Style屬性這是組合框的一個重要屬性,其取值為0,1,2,它決定了組合框3種不同的類型,分別為下拉式組合框、簡單組合框和下拉式列表框。如圖6-13所示。,(2)Text屬性該屬性值是用戶所選擇的項目的文本或直接從編輯區(qū)輸入的文本。2事件組合框所響應的事件依賴于其Style屬性?!纠?.8】設計一個簡單的報名窗口,要求界面如圖6-14所示,從文本框中輸入學生姓名,在“班級”旁邊的組合框中選擇其所屬班級(提供4種默認班級:電氣991、微機991、網(wǎng)絡991、電子991,用戶可以輸入其它的班級名)。然后將學生姓名和班級添加到列表框中。用戶可以刪除列表框中所選擇的項目,也可以把整個列表框清空。,設計界面如下:在窗體上加入3個標簽,一個文本框,一個組合框,一個列表框,以及3個命令按鈕。各控件屬性設置如表6-6所示。,程序如下:PrivateSubCommand1_Click()If(Text1.Text)And(Combo1.Text)ThenList1.AddItemText1.Text+Combo1.TextElseMsgBox(請輸入添加內(nèi)容?。〦ndIfEndSub,PrivateSubCommand2_Click()DimiAsIntegerIfList1.ListIndex=0ThenFori=List1.ListCount-1To0Step-1IfList1.Selected(i)ThenList1.RemoveItemi刪除被選中的項目NextiEndIfEndSub,PrivateSubCommand3_Click()List1.Clear清空列表EndSubPrivateSubForm_Load()Combo1.AddItem電氣991Combo1.AddItem微機991Combo1.AddItem網(wǎng)絡991Combo1.AddItem電子991Combo1.Text=Combo1.List(0)EndSub程序運行界面如圖6-15所示。,6.6滾動條,滾動條通常用來附在窗體邊上幫助觀察數(shù)據(jù)或確定位置,作為速度、數(shù)量的指示器來使用,也可用來作為數(shù)據(jù)輸入的工具。滾動條分為水平滾動條(HscrollBar)和垂直滾動條(VscrollBar),如圖6-16所示。除方向不一樣外,水平滾動條和垂直滾動條的結構與操作是完全相同的。,滾動條的兩端各有一個滾動箭頭,在滾動箭頭之間有一個滾動塊。滾動塊從一端移至另一端時,其值在不斷變化。垂直滾動條的值由上往下遞增,水平滾動條的值由左往右遞增。其值均以整數(shù)表示,取值范圍為3276832767。最小值和最大值分別在兩個端點,其坐標系和滾動條的長度(高度)無關。1屬性(1)Max屬性滾動條所能表示的最大值。(2)Min屬性滾動條所能表示的最小值。,(3)Value屬性表示當前滾動條所代表的值,范圍在Max與Min之間。(4)LargeChang屬性當用戶單擊滾動塊和滾動箭頭之間的區(qū)域時,滾動條控件(HScrollBar或VScrollBar)的Value屬性值的改變量,默認值為1。(5)SmallChange屬性表示當用戶單擊滾動條兩端的箭頭時,Value屬性值的增加或減小的量,默認值為1。,2事件滾動條的最常用的是Change事件和Scroll事件?!纠?.9】利用滾動條改變文本框中所顯示文本的字號大小。要求程序運行效果如圖6-17所示。,程序代碼如下:PrivateSubHScroll1_Change()Label1.Caption=HScroll1.ValueText1.FontSize=HScroll1.ValueEndSub,6.7焦點與Tab順序,焦點與Tab順序是和控件接受用戶輸入有關的兩個概念。6.7.1焦點焦點是對象鼠標或鍵盤輸入的能力。當對象具有焦點時,就可以接受用戶的輸入。當對象得到焦點時發(fā)生GetFocus事件,當對象失去焦點時發(fā)生LostFocus事件。,可用以下方法將焦點賦給對象:(1)用鼠標選擇對象,用Tab鍵移動,或用快捷鍵;(2)程序代碼中用SetFocus方法可以設置焦點。例如,可以在Form1窗體的Load事件中添加如下代碼,使得程序開始時光標(焦點)位于文本框Text3中。PrivateSubForm_Load()Form1.show顯示Form1窗體Text3.Setfocus使焦點位于文本框Text3中EndSub,使用以下方法可以使對象失去焦點:(1)用鼠標單擊選擇另一個對象

溫馨提示

  • 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

提交評論