常用控件與多窗體_第1頁
常用控件與多窗體_第2頁
常用控件與多窗體_第3頁
常用控件與多窗體_第4頁
常用控件與多窗體_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

關(guān)于常用控件與多窗體第1頁,課件共72頁,創(chuàng)作于2023年2月6.1圖片框與圖像框6.2定時器6.3單選鈕與復選框6.4容器與框架6.5列表框與組合框6.6滾動條6.7焦點與Tab順序6.8多窗體第2頁,課件共72頁,創(chuàng)作于2023年2月6.1圖片框與圖像框

圖片框控件(PictureBox)和圖像框控件(ImageBox)主要用于在窗體的指定位置顯示圖形信息。VB6.0支持.bmp、.ico、.wmf、.emf、.jpg、.gif等格式的圖形文件。6.1.1圖片框、圖像框的常用屬性1.Picture屬性 圖片框和圖像框中顯示的圖片由Picture屬性決定。圖形文件可以在設(shè)計階段裝入,也可以在運行期間裝入。第3頁,課件共72頁,創(chuàng)作于2023年2月

(1)在設(shè)計階段裝入 在設(shè)計階段,可以用屬性窗口中的Picture屬性裝入圖形文件。 (2)在運行期間裝入 在運行期間,可以用LoadPicture函數(shù)把圖形文件裝入圖片框或圖像框中。語句格式如下: 對象名.Picture=LoadPicture([filename])第4頁,課件共72頁,創(chuàng)作于2023年2月2.AutoSize屬性 該屬性用于圖片框。決定控件是否自動改變大小以顯示圖像全部內(nèi)容。缺省值為False,此時保持控件大小不變,超出控件區(qū)域的內(nèi)容被裁減掉;若值為True時,自動改變控件大小以顯示圖片全部內(nèi)容(注意:不是圖形改變大小)。3.stretch屬性 用于圖像框。當該屬性的取值為False時,圖像控件將自動改變大小以與圖形的大小相適應(yīng);當其值為True時,顯示在控件中的圖像的大小將完全適合于控件的大小,這時,圖片可能會變形。第5頁,課件共72頁,創(chuàng)作于2023年2月 6.1.2圖片框、圖像框的區(qū)別 (1)圖片框控件可以作為其它控件的容器。 (2)圖片框可以通過Print方法接收文本,而圖像框則不能接收用Print方法輸入的信息。 (3)圖像框比圖片框占用的內(nèi)存少,顯示速度快。第6頁,課件共72頁,創(chuàng)作于2023年2月6.2定時器 VB提供了一種叫定時器(Timer)的控件。定時器每隔一定的時間間隔就產(chǎn)生一次Timer事件(可理解為報時),用戶可以根據(jù)這個特性設(shè)置時間間隔控制某些操作或用于計時。1.屬性 定時器控件的屬性不是很多,最常用的是Interval屬性,該屬性用來決定兩次調(diào)用定時器的間隔,以ms為單位,取值范圍為0~65535,所以最大時間間隔不能超過66s,該屬性的缺省值為0,即定時器控件不起作用。如果希望每秒產(chǎn)生n個事件,則應(yīng)設(shè)置屬性Interval的值為1000/n。第7頁,課件共72頁,創(chuàng)作于2023年2月2.事件 定時器只支持Timer事件。對于一個含有定時器控件的窗體,每經(jīng)過一段由屬性Interval指定的時間間隔,就產(chǎn)生一個Timer事件。

【例6.2】建立數(shù)字計時器,要求每秒鐘時間變化一次。 設(shè)計界面: 在窗體上添加一個定時器控件、一個標簽,并按表6-1設(shè)置屬性。第8頁,課件共72頁,創(chuàng)作于2023年2月第9頁,課件共72頁,創(chuàng)作于2023年2月程序代碼如下:

PrivateSubTimer1_Timer()

Label1.FontSize=48Label1.Caption=Time'將Time函數(shù)返回的系統(tǒng)時間顯示在標簽中

EndSub執(zhí)行結(jié)果如下圖6-3所示,每隔1s鐘顯示一次時間。第10頁,課件共72頁,創(chuàng)作于2023年2月第11頁,課件共72頁,創(chuàng)作于2023年2月6.3單選鈕與復選框

有時希望在應(yīng)用程序的界面上提供一些項目,讓用戶從幾個選項中選擇其中之一,這就要用“單選鈕”控件。如果有多個選擇框,每個選擇框都是獨立的、互不影響的,用戶可以任意選擇它們的狀態(tài)組合,則可以用“復選框”控件。6.3.1單選鈕 單選鈕(OptionButton)通常成組出現(xiàn),主要用于處理“多選一”的問題。用戶在一組單選鈕中必須選擇一項,并且最多只能選擇一項。當某一項被選定后,其左邊的圓圈中出現(xiàn)一個黑點。例如,圖6-4所示就是一組單選鈕,用戶只能在這3個單選鈕選項中選擇一個。第12頁,課件共72頁,創(chuàng)作于2023年2月第13頁,課件共72頁,創(chuàng)作于2023年2月1.屬性 (1)Value屬性 該屬性表示單選按鈕選中或不被選中的狀態(tài)。True為選中;False為不被選中。 (2)Caption屬性 該屬性顯示出現(xiàn)在單選鈕旁邊的文本。 (3)Style屬性 該屬性用來設(shè)置控件的外觀。值為0時,控件顯示如圖6-4所示標準樣式;值為1時,控件外觀類似命令按鈕。 一般說來,單選鈕總是作為一個組(單選鈕組)發(fā)揮作用的。圖6-4關(guān)于顏色的單選鈕就是一個按鈕組。第14頁,課件共72頁,創(chuàng)作于2023年2月2.事件 單選鈕常用事件是Click事件。

【例6.4】程序運行后,單擊某個單選鈕,在標簽中顯示相應(yīng)的字體。運行結(jié)果如圖6-5所示。 分析:需要在窗體上建立一個標簽和3個單選鈕,其主要屬性設(shè)置如表6-2所示。第15頁,課件共72頁,創(chuàng)作于2023年2月第16頁,課件共72頁,創(chuàng)作于2023年2月第17頁,課件共72頁,創(chuàng)作于2023年2月事件過程代碼如下:

PrivateSubkai_Click()

Label1.FontName="楷體_gb2312"EndSub

PrivateSubli_Click()

Label1.FontName="隸書"EndSubPrivateSubsong_Click()

Label1.FontName="宋體"EndSub第18頁,課件共72頁,創(chuàng)作于2023年2月6.3.2復選框 復選框(CheckBox)也稱檢查框,單擊復選框一次時被選中,左邊出現(xiàn)“√”號,再次單擊則取消選中,清除復選框中的“√”??赏瑫r使多個復選框處于選中狀態(tài),這一點和單選按鈕不同。如圖6-6所示,有四個復選框。第19頁,課件共72頁,創(chuàng)作于2023年2月第20頁,課件共72頁,創(chuàng)作于2023年2月1.屬性 (1)Value屬性決定復選框的狀態(tài):0—未選中,1—已選中,2—變灰暗。 (2)Picture屬性 用來指定當復選框被設(shè)計成圖形按鈕時的圖像。2.事件 復選框常用事件為Click事件。第21頁,課件共72頁,創(chuàng)作于2023年2月 【例6.5】用復選框控制文本是否加下劃線和斜體顯示。在程序執(zhí)行期間,如果選定“加下劃線”復選框,則文本框中的內(nèi)容就加上了下劃線,如果清除“加下劃線”復選框,則文本框中的內(nèi)容就沒有下劃線;如果選定“斜體”復選框,則文本框中的文字字形就變成斜體,如果清除“斜體”復選框,則文本框中的文字字形就不是斜體。運行界面如圖6-7所示。第22頁,課件共72頁,創(chuàng)作于2023年2月第23頁,課件共72頁,創(chuàng)作于2023年2月

設(shè)計界面: 在窗體上建立一個文本框,兩個復選框。3個控件的屬性如表6-3所示。第24頁,課件共72頁,創(chuàng)作于2023年2月編寫如下事件過程:

PrivateSubCheck1_Click()

IfCheck1.Value=1ThenText1.FontUnderline=TrueElseText1.FontUnderline=FalseEndIfEndSub第25頁,課件共72頁,創(chuàng)作于2023年2月PrivateSubCheck2_Click()

IfCheck2.Value=1ThenText1.FontItalic=TrueElseText1.FontItalic=FalseEndIfEndSubPrivateSubForm_Load()

Text1.FontSize=20EndSub第26頁,課件共72頁,創(chuàng)作于2023年2月6.4容器與框架

所謂容器,就是可以在其上放置其它控件對象的一種對象。窗體、圖片框和框架都是容器。容器內(nèi)所有控件成為一個組合,隨容器一起移動、顯示、消失和屏蔽。 在前一節(jié)例6.3中,是在一個窗體上建立一組單選按鈕,若要在同一窗體上建立幾組相互獨立的單選按鈕,通常用框架控件(Frame)將每一組單選鈕框起來,這樣在一個框架內(nèi)的單選鈕成為一組,對一組單選鈕的操作不會影響其它組的單選鈕。第27頁,課件共72頁,創(chuàng)作于2023年2月

在窗體上創(chuàng)建框架及其內(nèi)部控件時,應(yīng)先添加框架控件,然后單擊工具箱上的控件,用“+”指針在框架中以拖拽的方式添加控件,框架內(nèi)的控件不能被拖出框架外。不能用雙擊的方式向框架中添加控件,也不能先畫出控件再添加框架。如果要用框架將窗體上現(xiàn)有的控件進行分組,可先選定控件,將它們剪切后粘貼到框架中。第28頁,課件共72頁,創(chuàng)作于2023年2月1.屬性 (1)Caption屬性 框架的標題,位于框架的左上角,用于注明框架的用途。 (2)Enabled屬性 決定框架中的對象是否可用,通常把Enabled屬性設(shè)置為True,以使框架內(nèi)的控件成為可以操作的。2.事件

Click和DblClick。在大多數(shù)情況下,我們用框架控件對控件進行分組,沒有必要響應(yīng)它的事件。第29頁,課件共72頁,創(chuàng)作于2023年2月 【例6.6】使用兩個單選鈕組來改變文本框中文字的顏色和大小。運行結(jié)果如圖6-8所示。 設(shè)計界面: 在窗體上添加一個標簽控件,一個命令按鈕;添加一個框架控件,在框架控件上畫上3個單選鈕控件(顏色按鈕組);再添加一個框架控件,在框架控件上畫上兩個單選鈕控件(字體大小按鈕組)。兩個框架的Caption屬性分別設(shè)置為“顏色”和“字體大小”,其它控件屬性的設(shè)置可以按照圖6-8所示自己進行。第30頁,課件共72頁,創(chuàng)作于2023年2月第31頁,課件共72頁,創(chuàng)作于2023年2月編寫代碼如下:

PrivateSubCommand1_Click()

endEndSubPrivateSubOption1_Click()

'藍色單選鈕

Label1.ForeColor=&HFF0000EndSubPrivateSubOption2_Click()

'紅色單選鈕

Label1.ForeColor=&HFF&EndSub第32頁,課件共72頁,創(chuàng)作于2023年2月PrivateSubOption3_Click()

'綠色單選鈕

Label1.ForeColor=&HFF00&EndSubPrivateSubOption4_Click()

'文字大小10單選鈕

Label1.FontSize=10EndSubPrivateSubOption5_Click()

'文字大小20單選鈕

Label1.FontSize=20EndSub第33頁,課件共72頁,創(chuàng)作于2023年2月6.5列表框與組合框

列表框(ListBox)控件將一系列的選項組合成一個列表,用戶可以選擇其中的一個或幾個選項,但不能向列表清單中輸入項目;組合框(ComboBox)控件是綜合文本框和列表框特性而形成的一種控件,用戶可通過在組合框中輸入文本來選定項目,也可從列表中選定項目。第34頁,課件共72頁,創(chuàng)作于2023年2月6.5.1列表框 列表框控件(ListBox)的主要用途在于提供列表式的多個數(shù)據(jù)項供用戶選擇。在列表框中放入若干個項的名字,用戶可以通過單擊某一項或多項來選擇自己所需要的項目。如果放入的項較多,超過了列表框設(shè)計時可顯示的項目數(shù),則系統(tǒng)會自動在列表框邊上加一個垂直滾動條。第35頁,課件共72頁,創(chuàng)作于2023年2月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ù)項。第36頁,課件共72頁,創(chuàng)作于2023年2月第37頁,課件共72頁,創(chuàng)作于2023年2月

(2)ListCount屬性 該屬性記錄了列表框中的數(shù)據(jù)項數(shù),該屬性只能在程序中引用它。 (3)Text屬性 用于存放被選中列表項的文本內(nèi)容。該屬性是只讀的,不能在屬性窗口中設(shè)置,也不能在程序中設(shè)置,只用于獲取當前選定的列表項的內(nèi)容??稍诔绦蛑幸肨ext屬性值。第38頁,課件共72頁,創(chuàng)作于2023年2月

(4)ListIndex屬性 該屬性是List數(shù)組中,被選中的列表項的下標值(即索引號)。如果用戶選擇了多個列表項,則ListIndex是最近所選列表項的索引號;如果用戶沒有從列表框中選擇任何一項,則ListIndex為-1。程序運行時,可以使用ListIndex屬性判斷列表框中哪一項被選中。 例如,在列表框List1中選中第2項,即List1.List數(shù)組的第2項,則ListIndex=1(ListIndex從0開始)。

ListIndex屬性不能在設(shè)計時設(shè)置,只有程序運行時才起作用。第39頁,課件共72頁,創(chuàng)作于2023年2月

(5)Selected屬性 該屬性是一個邏輯數(shù)組,其元素對應(yīng)列表框中相應(yīng)的項。表示相應(yīng)的項在程序運行期間是否被選中。例如,Selected(0)的值為True,表示第一項被選中,如為False,表示未被選中。 (6)MultiSelect(多選擇列表項)屬性 該屬性值表明是否能夠在列表框控件中進行復選以及如何進行復選。它決定用戶是否可以在控件中做多重選擇,它必須在設(shè)計時設(shè)置,運行時只能讀取該屬性。Multiselect屬性值的說明如表6-4所示。第40頁,課件共72頁,創(chuàng)作于2023年2月

(7)SelCount屬性 其值表示在列表框控件中所選列表項的數(shù)目,只有在MultiSelect屬性值設(shè)置為1(Simple)或2(Extended)時起作用,通常與Selected數(shù)組一起使用,以處理控件中的所選項目。第41頁,課件共72頁,創(chuàng)作于2023年2月2.方法

ListBox對應(yīng)的控件方法有:AddItem,Clear和RemoveItem

(1)AddItem方法 該方法向一個列表框中加入列表項,其語法是:

Listname.AddItemitem[,index] (2)RemoveItem方法 該方法用于刪除列表框中的列表項,其語法是:

Listname.RemoveItemindex第42頁,課件共72頁,創(chuàng)作于2023年2月

(3)Clear方法 該方法刪除列表框控件中的所有列表項。其語法是:

Listname.Clear 【例6.7】利用列表框和命令按鈕編程,要求程序能夠?qū)崿F(xiàn)添加項目、刪除項目、刪除全部項目的功能。 設(shè)計界面: 在窗體上添加一個列表框(ListBox)控件,3個命令按鈕。屬性設(shè)置如表6-5所示。第43頁,課件共72頁,創(chuàng)作于2023年2月第44頁,課件共72頁,創(chuàng)作于2023年2月在程序中添加如下代碼:

PrivateSubCommand1_Click()

Dimentryentry=InputBox("輸入添加內(nèi)容","添加")

List1.AddItementry'添加項目

EndSub

第45頁,課件共72頁,創(chuàng)作于2023年2月PrivateSubCommand2_Click()

DimiAsIntegerFori=List1.ListCount-1To0Step-1IfList1.Selected(i)ThenList1.RemoveItemi'刪除選中項目

NextiEndSub

PrivateSubCommand3_Click()

List1.Clear'全部刪除

EndSub運行結(jié)果如圖6-12所示。第46頁,課件共72頁,創(chuàng)作于2023年2月第47頁,課件共72頁,創(chuàng)作于2023年2月6.5.2組合框 組合框(ComoBox)是一種兼有列表框和文本框的功能的控件。它可以像列表框一樣,讓用戶通過鼠標選擇所需要的項目;也可以像文本框一樣,用鍵入的方式選擇項目。1.屬性 (l)Style屬性 這是組合框的一個重要屬性,其取值為0,1,2,它決定了組合框3種不同的類型,分別為下拉式組合框、簡單組合框和下拉式列表框。如圖6-13所示。第48頁,課件共72頁,創(chuàng)作于2023年2月第49頁,課件共72頁,創(chuàng)作于2023年2月

(2)Text屬性 該屬性值是用戶所選擇的項目的文本或直接從編輯區(qū)輸入的文本。2.事件 組合框所響應(yīng)的事件依賴于其Style屬性。

【例6.8】設(shè)計一個簡單的報名窗口,要求界面如圖6-14所示,從文本框中輸入學生姓名,在“班級”旁邊的組合框中選擇其所屬班級(提供4種默認班級:電氣991、微機991、網(wǎng)絡(luò)991、電子991,用戶可以輸入其它的班級名)。然后將學生姓名和班級添加到列表框中。用戶可以刪除列表框中所選擇的項目,也可以把整個列表框清空。第50頁,課件共72頁,創(chuàng)作于2023年2月第51頁,課件共72頁,創(chuàng)作于2023年2月

設(shè)計界面如下: 在窗體上加入3個標簽,一個文本框,一個組合框,一個列表框,以及3個命令按鈕。各控件屬性設(shè)置如表6-6所示。第52頁,課件共72頁,創(chuàng)作于2023年2月第53頁,課件共72頁,創(chuàng)作于2023年2月程序如下:

PrivateSubCommand1_Click()

If((Text1.Text<>"")And(Combo1.Text<>""))ThenList1.AddItemText1.Text+""+Combo1.TextElseMsgBox("請輸入添加內(nèi)容!")

EndIfEndSub

第54頁,課件共72頁,創(chuàng)作于2023年2月PrivateSubCommand2_Click()

DimiAsIntegerIfList1.ListIndex>=0ThenFori=List1.ListCount-1To0Step-1IfList1.Selected(i)ThenList1.RemoveItemi'刪除被選中的項目

NextiEndIfEndSub

第55頁,課件共72頁,創(chuàng)作于2023年2月PrivateSubCommand3_Click()

List1.Clear'清空列表

EndSubPrivateSubForm_Load()

Combo1.AddItem"電氣991"Combo1.AddItem"微機991"Combo1.AddItem"網(wǎng)絡(luò)991"Combo1.AddItem"電子991"Combo1.Text=Combo1.List(0)

EndSub程序運行界面如圖6-15所示。第56頁,課件共72頁,創(chuàng)作于2023年2月第57頁,課件共72頁,創(chuàng)作于2023年2月6.6滾動條

滾動條通常用來附在窗體邊上幫助觀察數(shù)據(jù)或確定位置,作為速度、數(shù)量的指示器來使用,也可用來作為數(shù)據(jù)輸入的工具。 滾動條分為水平滾動條(HscrollBar)和垂直滾動條(VscrollBar),如圖6-16所示。除方向不一樣外,水平滾動條和垂直滾動條的結(jié)構(gòu)與操作是完全相同的。第58頁,課件共72頁,創(chuàng)作于2023年2月第59頁,課件共72頁,創(chuàng)作于2023年2月

滾動條的兩端各有一個滾動箭頭,在滾動箭頭之間有一個滾動塊。滾動塊從一端移至另一端時,其值在不斷變化。垂直滾動條的值由上往下遞增,水平滾動條的值由左往右遞增。其值均以整數(shù)表示,取值范圍為-32768~32767。最小值和最大值分別在兩個端點,其坐標系和滾動條的長度(高度)無關(guān)。1.屬性 (1)Max屬性 滾動條所能表示的最大值。 (2)Min屬性 滾動條所能表示的最小值。第60頁,課件共72頁,創(chuàng)作于2023年2月

(3)Value屬性 表示當前滾動條所代表的值,范圍在Max與Min之間。 (4)LargeChang屬性 當用戶單擊滾動塊和滾動箭頭之間的區(qū)域時,滾動條控件(HScrollBar或VScrollBar)的Value屬性值的改變量,默認值為1。 (5)SmallChange屬性 表示當用戶單擊滾動條兩端的箭頭時,Value屬性值的增加或減小的量,默認值為1。第61頁,課件共72頁,創(chuàng)作于2023年2月2.事件 滾動條的最常用的是Change事件和Scroll事件。

【例6.9】利用滾動條改變文本框中所顯示文本的字號大小。要求程序運行效果如圖6-17所示。第62頁,課件共72頁,創(chuàng)作于2023年2月第63頁,課件共72頁,創(chuàng)作于2023年2月程序代碼如下:

PrivateSubHScroll1_Change()

Label1.Caption=HScroll1.ValueText1.FontSize=HScroll1.ValueEndSub第64頁,課件共72頁,創(chuàng)作于2023年2月6.7焦點與Tab順序

焦點與Tab順序是和控件接受用戶輸入有關(guān)的兩個概念。6.7.1焦點 焦點是對象鼠標或鍵盤輸入的能力。當對象具有焦點時,就可以接受用戶的輸入。 當對象得到焦點時發(fā)生GetFocus事件,當對象失去焦點時發(fā)生LostFocus事件。第65頁,課件共72頁,創(chuàng)作于2023年2月

可用以下方法將焦點賦給對象: (1)用鼠標選擇對象,用[Tab]鍵移動,或用快捷鍵; (2)程序代碼中用SetFocus方法可以設(shè)置焦點。 例如,可以在Form1窗體的Load事件中添加如下代碼,使得程序開始時光標(焦點)位于文本框Text3中。

PrivateSubForm_Load()

Form1.show'顯示Form1窗體

溫馨提示

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

最新文檔

評論

0/150

提交評論