VB常用控件與界面設(shè)計(jì)教程.ppt
《VB常用控件與界面設(shè)計(jì)教程.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《VB常用控件與界面設(shè)計(jì)教程.ppt(111頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第三章 常用控件與界面設(shè)計(jì),3.1 創(chuàng)建窗體 3.2 Visual Basic的常用控件 3.3 制作菜單,3.1 創(chuàng)建窗體,3.1.1 窗體的屬性、方法與事件 3.1.2 定制窗體屬性 3.1.3 窗體的顯示、隱藏和卸載 3.1.4 Print方法,3.1.1 窗體的屬性、方法與事件,3.1.1 窗體的屬性、方法與事件,窗體邊框風(fēng)格,返回,常用窗體方法,Hide:隱藏方法 Show:顯示方法; Move:移動(dòng)方法 Print:打印方法; Cls:清除方法,常用窗體事件,Click:?jiǎn)螕羰录?DblClick:雙擊事件; Load:裝載事件.當(dāng)使用 Load 語(yǔ)句啟動(dòng)應(yīng)用程序,或引用未裝載的窗體屬性或控件時(shí),此事件發(fā)生。 Resize:在窗體被改變大小時(shí),會(huì)觸發(fā)本事件; Activate:激活事件,當(dāng)窗體變?yōu)楫?dāng)前窗口時(shí),引發(fā)本事件; Deactivate:失去激活事件,3.1.2 定制/設(shè)置窗體屬性,1、在設(shè)計(jì)狀態(tài)下通過(guò)屬性窗口進(jìn)行設(shè)定 2、在程序代碼中進(jìn)行設(shè)置 [Object.]Property = Expression 例如:Form1.caption=“考試系統(tǒng)” 特別注意:某些屬性只能在代碼中進(jìn)行設(shè)置或改變,3.1.3 窗體的顯示、隱藏和卸載,1. 顯示與隱藏窗體 使用Show與Hide方法 [Object.]Method [p1,p2,…] 2. 裝載窗體與Load事件 使用Load語(yǔ)句可把窗體載入內(nèi)存 Load Object 3. 卸載窗體與Unload事件 4. End語(yǔ)句,Show方法: [窗體名.] Show [Style] 參數(shù)Style取值為: 1 或者vbModel 有模式,例如windows 窗口 0 或者vbModeless 無(wú)模式(缺?。?例如VB環(huán)境 當(dāng) Show 在顯示無(wú)模式窗體時(shí),隨后遇到的代碼則要執(zhí)行。當(dāng) Show 在顯示模式窗體 (modal form) 時(shí),則隨后的代碼直到該窗體被隱藏或卸載時(shí)才能執(zhí)行。,3.1.4 數(shù)據(jù)輸出—Print方法,Print方法 Print方法可以在窗體上顯示文本字符串和表達(dá)式的值,并可在其他圖形對(duì)象或打印機(jī)上輸出信息。,其一般格式為: [對(duì)象名稱.]Print[表達(dá)式表][,|;] 1、“對(duì)象名稱”可以是窗體(Form)、圖片框(PictureBox)或打印機(jī)(Printer),也可以是立即窗口(Debug) 2、“表達(dá)式表”是一個(gè)或多個(gè)表達(dá)式,可以是數(shù)值表達(dá)式或字符串 3、如果輸出的各表達(dá)式之間用逗號(hào)分隔,則按標(biāo)準(zhǔn)輸出格式顯示數(shù)據(jù)項(xiàng);如果各輸出項(xiàng)之間用分號(hào)或空格作分隔符,則按緊湊輸出格式輸出數(shù)據(jù)。例如,以14個(gè)字符位置為單位把一個(gè)輸出行分為若干個(gè)區(qū)段,逗號(hào)后面的表達(dá)式在下一個(gè)區(qū)段輸出,不同段的文字中間相隔一個(gè)空格,但是如果是字符串的情況下,就不會(huì)有空格如果是字符串前后就不會(huì)有空格,4、print方法具有計(jì)算和輸出雙重功能,對(duì)于表達(dá)式,先計(jì)算后輸出。Print沒有賦值功能。 例如:a=3,b=4 Print (a+b)*3 問題: Print c= (a+b)*3 輸出的結(jié)果是什么? 5、每執(zhí)行以print方法都要自動(dòng)換行,為了仍能在同一行顯示,可以在末尾加上一個(gè)分號(hào)或逗號(hào)。 6、有一些函數(shù)可以和print一起控制輸出的格式,,Print輸出格式說(shuō)明,例如: Dim a As integer, b As integer a = 100: b = 300 Print a,b Print a;b 輸出結(jié)果為: 100 300 //100和300之前相隔14個(gè)字符位置 100 300 //在VB中輸出數(shù)值數(shù)據(jù)時(shí)數(shù)值的前面有一個(gè)符號(hào) 位,后面有一個(gè)空格。 對(duì)于分號(hào)情況,如果是字符串,前后就不會(huì)有空格,例如: Print “你好”;”小熊” Print”你好小熊” 結(jié)果: 你好小熊 你好小熊,,Tab函數(shù) Spc函數(shù) 空格函數(shù)(Space$),與Print方法有關(guān)的函數(shù),Tab函數(shù),格式:Tab [(n)] Tab函數(shù)把光標(biāo)移到由參數(shù)n指定的列(從1開始計(jì)數(shù),如果n1,則在第一列開始打印,如果參數(shù)省略則到下一個(gè)區(qū)域輸出),從這個(gè)位置輸出信息。要輸出的內(nèi)容放在Tab函數(shù)的后面,并用分號(hào)隔開。 例如:print Tab(30);”asd” 在第30列的位置開始輸出“asd”,Spc函數(shù),格式:Spc(n) 在print的輸出中,用該函數(shù)可以跳過(guò)n個(gè)空格。Spc()函數(shù)與輸出項(xiàng)之間用分號(hào)隔開。 Print “asd”;spc(30);”efc”,空格函數(shù),Space()函數(shù) 格式:Space(n) 功能:產(chǎn)生由n個(gè)空格組成的字符串。 說(shuō)明:n為數(shù)值型參數(shù),函數(shù)返回值為一個(gè)全部由空格組成的字符串。,Print “asd” & space(30) & ”efc”,注意:Tab(n)等效于Space(n-1),例 Print方法的使用例。本程序執(zhí)行后,輸出的結(jié)果將如圖所示。 Private Sub Form_Click() x = 50 : y = “庫(kù)存書“ Print “ABC1“; “wwwwwwwwww“ Print “ABC2“, “qqqqq“ Picture1.Print Picture1.Print “1234567890“ Picture1.Print Tab(3); “111“; y; “=“; x; “本“ Picture1.Print Spc(3); “222“; y; “=“; x; “本“ End Sub,Cls方法,Cls方法用于清除運(yùn)行時(shí)在窗體或圖形框中用Print顯示的文本或圖形。形式如下: [對(duì)象.]Cls 其中:對(duì)象為窗體或圖形框,缺省值為窗體。 例如: Picture1.Cls ‘清除圖形框內(nèi)顯示的圖形或文本 Cls ‘清除窗體上顯示的文本,Move方法,Move方法用于移動(dòng)窗體或控件,另外,使用該方法還可以重新設(shè)定對(duì)象的width和height的屬性值,所以,該方法也可以用來(lái)改變對(duì)象的大小。 [對(duì)象.]Move 左邊距離[,上邊距離[,寬度[,高度]]] 對(duì)象:可以是窗體及除時(shí)鐘、菜單外的所有控件,缺省值為窗體 。 左邊距離、上邊距離、寬度、高度:數(shù)值表達(dá)式,以twip為單位(每一英寸是1440twips ,一厘米567twips )。,3.2 Visual Basic的常用控件,3.2.1 概述 3.2.2 常用控件,3.2.1 概述,VB通過(guò)工具箱提供的用于創(chuàng)建用戶界面的各種可視化部件對(duì)象,稱為“控件” VB提供的基本控件有: TextBox Label CommandButton CheckBox OptionButton Frame ListBox ComboBox Timer HscrollBar VscrollBar PictureBox ……,Name(名稱)屬性,該屬性是所有對(duì)象都具有的屬性。所有的控件在創(chuàng)建時(shí)由VB自動(dòng)提供一個(gè)默認(rèn)名稱。程序中,對(duì)象名稱是作為對(duì)象標(biāo)識(shí)而引用,不會(huì)顯示在窗體上。,Height,Width,Top,Left屬性,Height和Width屬性決定了控件的高度和寬度,Top和Left屬性決定了控件在窗體中的位置。,單位為twip(特維), 1英寸=1440twip,Enabled屬性,Enabled屬性決定控件是否允許操作: True:允許用戶進(jìn)行操作,并對(duì)操作作出響應(yīng) False:禁止用戶進(jìn)行操作,呈灰色。,Visible屬性,Visible屬性決定控件是否可見: True:程序運(yùn)行時(shí)控件可見 False:程序運(yùn)行時(shí)控件隱藏,用戶看不到,但控件本身存在,Font屬性,Font屬性改變文本的外觀,其分屬性有: Name(字符型)控件上正文字體名 Size(整型)控件上正文字體大小 Bold(邏輯型)控件上正文是否是粗體 Italic (邏輯型)控件上正文是否是斜體 Strikethru (邏輯型)控件上正文是否加刪除線 Underline (邏輯型)控件上正文是否帶下劃線,ForeColor(前景顏色)屬性,該屬性用來(lái)設(shè)置控件的前景顏色(即正文顏色)。 如紅色表示為:RGB(255,0,0) 或:Vbred,BackColor (背景顏色)屬性,正文以外的顯示區(qū)域顏色。,BackStyle (背景風(fēng)格)屬性,0——Transparent:透明顯示,即控件背景顏色顯示不出來(lái),若控件后面有其它控件均可透明顯示出來(lái)。 1——Opaque:不透明,此時(shí)可為控件設(shè)置背景顏色。,BorderStyle (邊框風(fēng)格)屬性,0——None:控件周圍沒有邊框。 1——Fixed Single:控件帶有單邊框。,Alignment屬性,Alignment屬性決定控件內(nèi)的對(duì)齊方式。 0——Left Justify:正文左對(duì)齊 1——Right Justify:正文右對(duì)齊 2——Center:正文居中,AutoSize屬性,AutoSize屬性決定控件是否自動(dòng)調(diào)整大小。 True:自動(dòng)調(diào)整大小。 False:保持原設(shè)計(jì)時(shí)的大小,正文若太長(zhǎng)自動(dòng)裁剪掉。,TabIndex屬性,TabIndex屬性決定了按Tab鍵時(shí),焦點(diǎn)在各個(gè)控件移動(dòng)的順序。 焦點(diǎn)是接受用戶鼠標(biāo)或鍵盤輸入的能力。當(dāng)對(duì)象具有焦點(diǎn)時(shí),可接受用戶的輸入。,3.2.2 常用控件,1、TextBox 2、Label 3、CommandButton 4、ListBox 5、ComboBox 6、 PictureBox與Image,7、OptionButton、CheckBox與Frame 8、 HScrollBar與 VScrollBar 9、Timer,1、 文本框TextBox,文本框控件稱為編輯字段或者編輯控件,用于文本編輯,用戶可以在該控件區(qū)域內(nèi)輸入、編輯、修改和顯示文本內(nèi)容。 1. TextBox控件的屬性 TextBox控件的Alignment、Appearance、Autosize、BackColor、Bordstyle、Enabled、Index 、Font屬性及參數(shù)設(shè)置與Label的對(duì)應(yīng)屬性相同。,(1)MultiLine屬性 設(shè)置是否可以輸入多行文本,取值: True:具有自動(dòng)換行功能; False:(默認(rèn)值)只允許輸入一行,一旦超過(guò)文本框?qū)?度時(shí),超過(guò)部分不顯示 (2)ScrollBars屬性 設(shè)置滾動(dòng)條模式,有4種選擇: 0,無(wú)滾動(dòng)條; 1,水平滾動(dòng)條; 2,垂直滾動(dòng)條; 3,水平和垂直滾動(dòng)條。 只有MultiLine屬性設(shè)置為true時(shí),才能用ScrollBars屬性設(shè)置滾動(dòng)條,(3)PasswordChar屬性: 該屬性用于密碼輸入。如果為該屬性設(shè)置了某一字符,那么無(wú)論Text屬性值是什么,在文本框中都只顯示該字符。 注意:要想使該屬性有效,MultiLine屬性必須設(shè)置為False。 (4)Text屬性:文本框中的內(nèi)容,文本框的事件和方法,文本框支持Click、DbClick事件,同時(shí)支持以下事件: (1)Change事件:當(dāng)用戶向文本框中輸入或刪除文本,或在程序中對(duì)文本框的Text屬性進(jìn)行更改時(shí),將觸發(fā)其Change事件。 (2)SetFocus方法:與命令按鈕一樣,該方法是將光標(biāo)移動(dòng)到指定的文本框中,使其獲得焦點(diǎn)。這是文本框比較常用的方法,當(dāng)在窗體中建立了多個(gè)文本框后,可以使用該方法把光標(biāo)置于所需要的文本框上。 格式:[對(duì)象].SetFocus,(3)LostFocus事件: 對(duì)象失去焦點(diǎn)事件。當(dāng)按下Tab鍵或用鼠標(biāo)選擇其他對(duì)象使光標(biāo)離開當(dāng)前對(duì)象時(shí)觸發(fā)該事件。 (4)KeyPress事件: 當(dāng)焦點(diǎn)在當(dāng)前文本框中,在鍵盤上按下某個(gè)按鍵則觸發(fā)該對(duì)象的KeyPress事件。該事件返回一個(gè)參數(shù)KeyAscii,表示所按下的鍵的ASCII碼。 (5)GotFocus事件: 對(duì)象獲得焦點(diǎn)事件。當(dāng)運(yùn)行程序時(shí)用Tab鍵或用鼠標(biāo)選擇對(duì)象,或用SetFocus方法使光標(biāo)定位在對(duì)象上時(shí),會(huì)觸發(fā)該事件。 例2-1 例2-2,2、標(biāo)簽,Label控件用于: 輸出標(biāo)題:用Label來(lái)標(biāo)注本身不具有Caption屬性的控件。 顯示輸出結(jié)果,屬性,Caption、Left、Top、Width、Height、Font,F(xiàn)orecolor、Visible、Alignment、Appearance、Autosize、BackColor、BackStyle、Borderstyle、Enabled、Index、ToolTipText (1)Alignment屬性 設(shè)置Label控件中文本的排列方式。其值為: 0,左對(duì)齊(缺省值); 1,右對(duì)齊; 2,居中對(duì)齊。,(2)Autosize屬性 返回或設(shè)置一個(gè)值,以決定控件是否自動(dòng)改變大小以顯示其全部?jī)?nèi)容。其值為: True:自動(dòng)改變控件大小以顯示全部?jī)?nèi)容; False:(缺省值),保持控件大小不變,超出控件區(qū)域的內(nèi)容被裁剪掉。,(3)BorderStyle屬性 設(shè)置標(biāo)簽是否具有邊框。0(缺?。獰o(wú)邊框;1—有邊框。 (4)Caption屬性 標(biāo)簽的標(biāo)題。標(biāo)簽中顯示的文本只能用Caption屬性來(lái)實(shí)現(xiàn) (5)Enabled屬性 返回或設(shè)置一個(gè)值,用來(lái)確定控件是否能夠?qū)τ脩舢a(chǎn)生的事件做出反應(yīng)。其值為: True:(缺省)允許對(duì)象對(duì)事件做出反應(yīng); False:阻止對(duì)象對(duì)事件做出反應(yīng)。,(6)BackStyle屬性 設(shè)置背景樣式。0—標(biāo)簽透明;1—標(biāo)簽不透明。 (7)BackColor屬性 返回或設(shè)置對(duì)象的背景顏色,設(shè)置方式和設(shè)置值Forecolor屬性一致。,標(biāo)簽事件,Label控件有Click 、DblClick、Change、MouseMove、MouseDown及MouseUp 事件。 在實(shí)際應(yīng)用中,標(biāo)簽通常是給其他控件用作說(shuō)明的,用戶很少對(duì)標(biāo)簽進(jìn)行任何操作,所以,標(biāo)簽的事件很少用到。 (1)DbClick事件 當(dāng)在對(duì)象上雙擊鼠標(biāo)按鈕時(shí),該事件發(fā)生。 注意:雙擊時(shí)DblClick事件發(fā)生在Click事件之后,(2)Change事件 當(dāng)Label的Caption屬性的值發(fā)生改變時(shí)此事件發(fā)生。語(yǔ)法: Private Sub object_Change([index As Integer]) Change事件可協(xié)調(diào)在各控件間顯示的數(shù)據(jù)或使它們同步。 其中:index是一個(gè)整數(shù),用來(lái)唯一地標(biāo)識(shí)一個(gè)在控件數(shù)組中控件。,(3)MouseMove事件 移動(dòng)鼠標(biāo)時(shí)發(fā)生該事件。 (4)MouseDown、MouseUp事件 當(dāng)按下鼠標(biāo)按鈕時(shí),MouseDown事件發(fā)生,釋放鼠標(biāo)按鈕時(shí)MouseUp事件發(fā)生。,文本框1,文本框2,標(biāo)簽1,標(biāo)簽2,按鈕1,按鈕2,應(yīng)用示例,3、 按鈕控件,1、Caption屬性 該屬性用來(lái)設(shè)置顯示在命令按鈕上的標(biāo)題,也就是命令按鈕上方出現(xiàn)的文本。 設(shè)置帶有快捷鍵的命令按鈕的Caption屬性時(shí)在相應(yīng)的字母前加上“&”符號(hào),例如:要得到 的命令按鈕,則應(yīng)將其Caption屬性設(shè)置為“確定(&Ok)”。按住Alt和帶下劃線的字符就可把焦點(diǎn)移動(dòng)到相應(yīng)的控件上并操作該按鈕與單擊該按鈕效果相同。,2、Cancel屬性 當(dāng)Cancel屬性設(shè)置成True時(shí),按Esc鍵時(shí)與單擊命令按鈕作用相同。 3、Default屬性 Default屬性設(shè)置為True時(shí),按Enter鍵時(shí)與單擊命令按鈕作用相同。 注意:在同一窗體上只能有一個(gè)命令按鈕的Default屬性和Cancel屬性被設(shè)定為True。,(4)Enabled屬性:設(shè)置命令按鈕是否能被按下。 (5)Style屬性:設(shè)置命令按鈕的外觀樣式。0—Standard(缺省)標(biāo)準(zhǔn)樣式,不能在其中顯示圖形或設(shè)置顏色;1—Graphical,圖形樣式,在命令按鈕上可以顯示圖形或設(shè)置顏色。 (6)Picture屬性:通過(guò)該屬性可以指定一個(gè)圖形文件用來(lái)在命令按鈕上顯示該文件所對(duì)應(yīng)的圖形。要在命令按鈕上顯示圖形,有效的前提是Style屬性為1。 (7)DownPicture屬性:該屬性用來(lái)設(shè)置當(dāng)控件被單擊并處于按下狀態(tài)是在控件中顯示的圖形。,2. 事件 鼠標(biāo)單擊命令按鈕發(fā)生Click事件。命令按鈕不支持雙擊事件(DblClick) 3. 方法 命令按鈕具有Move和SetFocus等方法。在程序運(yùn)行中,Move方法可移動(dòng)對(duì)象,SetFocus事件可以使用命令按鈕獲得焦點(diǎn),4、列表框,列表框(ListBox) 控件(經(jīng)常在上機(jī)考試中用到) 列出可供用戶選擇的項(xiàng)目列表。運(yùn)行時(shí),可用鼠標(biāo)或箭頭鍵選中其中的一項(xiàng)或多項(xiàng),選中的項(xiàng)被加亮顯示。列表框中的選擇項(xiàng)稱為條目(Item) 。列表框的默認(rèn)名為L(zhǎng)istX。,重要屬性、事件和方法,1、Name 屬性——對(duì)象名 2、Left , Top , Width , Height , Visible , Enabled屬性 3、Columns 屬性:決定列表框中顯示條目的列數(shù)。 0----顯示一列(默認(rèn)),垂直滾動(dòng)條。 1----顯示多行一列,水平滾動(dòng)條。 n----顯示多行 n 列,水平滾動(dòng)條。(n1),4、 ListCount屬性 ——列表框中的條目數(shù) ListCount(只讀屬性)在設(shè)計(jì)時(shí)不可用,只能在程序中使用。列表框中的表項(xiàng)的排列從0開始,最后一項(xiàng)的序號(hào)為L(zhǎng)istCount-1, 例如: x=List1.ListCount 則X的值為列表框List1中的總項(xiàng)數(shù),5、List屬性——設(shè)置列表框中包含的項(xiàng) 用來(lái)列出表項(xiàng)的內(nèi)容, List 屬性實(shí)質(zhì)上是個(gè)一維字符串?dāng)?shù)組,其下界為0,上界為 ListCount-1 。每一元素存放列表框中的一個(gè)條目。 List 屬性和 ListCount、ListIndex 屬性結(jié)合起來(lái)使用。,其格式是: [.].List () [=] 例如:Listl.List(0)=“漢族” ‘ 把Listl的第一行的文本定義為“漢族”。 可以通過(guò)下標(biāo)訪問數(shù)組中的值(從0開始),格式為: S$=[列表框].List(下標(biāo)) 例如: S$=List1.list(5) 將列出列表框List1中第六項(xiàng)的內(nèi)容,6、ListIndex屬性 表示當(dāng)前所選條目的序號(hào)(0 — ListCount-1); 若列表框支持多選,則ListIndex屬性的值是最后一個(gè)被選中條目的序號(hào); 若沒有條目被選中,則此屬性的值為-1。只能在程序中使用。,7、MultiSelect屬性——設(shè)置是否能夠選擇多項(xiàng) MultiSelect = 0:不允許復(fù)選(缺省值) 。 MultiSelect = 1:簡(jiǎn)單復(fù)選。鼠標(biāo)單擊或按下空格鍵,在列表中選中或取消選中項(xiàng),使用箭頭鍵移動(dòng)焦點(diǎn)。 MultiSelect = 2:擴(kuò)展復(fù)選。按下 SHIFT 并單擊鼠標(biāo)或按箭頭鍵選擇連續(xù)的多項(xiàng)。按下 CTRL 并單擊鼠標(biāo)選擇不連續(xù)的多項(xiàng)(或取消選中項(xiàng))。 MultiSelect 屬性在運(yùn)行時(shí)是只讀的,也就是說(shuō)不能利用程序代碼改變它的值。,8、Style 屬性——控制列表框的外觀 Style=0:默認(rèn)值,標(biāo)準(zhǔn)樣式,單擊選項(xiàng)即可選中。 Style=1:復(fù)選框樣式,列表框的每個(gè)項(xiàng)目以復(fù)選框 的形式顯示(不受MultiSelect屬性的影響)。 Style 屬性在運(yùn)行時(shí)是只讀的。,Style=0 Style=1,10、Selected屬性 Selected屬性是一個(gè)邏輯型數(shù)組(與List 和ItemData屬性類似),其中的每個(gè)元素對(duì)應(yīng)列表框中的一個(gè)選項(xiàng)的選擇狀態(tài): List1.Selected(i) = True 時(shí),對(duì)應(yīng)項(xiàng)被選中; List1.Selected(i) = False 時(shí),對(duì)應(yīng)項(xiàng)沒有選中。 Selected屬性的語(yǔ)法為: 列表框名.Selected() [= ] 此屬性不能在屬性窗口中使用 例如:List1.Selected(1)=true,11、Text 屬性——列表框中最后一次所選條目對(duì)應(yīng)的文字,Text屬性為只讀屬性。 12、Sorted屬性——指示列表框中的條目是否排序。 Sorted屬性值為True,則選項(xiàng)按字母順序升序 排列,否則按輸入的順序排列。 Sorted 屬性為只讀屬性,1、AddItem 方法——向列表框中添加新條目 格式: [列表框名].AddItem 字符串表達(dá)式 [,插入位置序號(hào)] 若不指定插入位置,且Sorted = False,則插入到列表尾;否則插入到適當(dāng)位置。 例如:List1.AddItem “王平” ,0,列表框方法,2、RemoveItem方法——?jiǎng)h除指定列表項(xiàng) 格式:[列表框名].RemoveItem 刪除項(xiàng)序號(hào) 該方法一次只能刪除一個(gè)項(xiàng)目。 例如:List1. RemoveItem 0 3、Clear方法——?jiǎng)h除列表框中的所有項(xiàng)。 格式:[列表框?qū)ο竺鸧.Clear 4、Move 方法,列表框事件,列表框接收Click事件、 Dbclick事件 通常把列表框和命令按鈕組合使用 例: 交換兩個(gè)列表框中的項(xiàng)目,5、組合框(ComboBox),組合框由一個(gè)列表框和一個(gè)文本框組成,用戶既可以像在文本框一樣在組合框中直接輸入文本來(lái)選定項(xiàng)目,也可從列表中選定項(xiàng)目。 組合框具備列表框的屬性。 組合框的屬性:Text、List、ListIndex、ListCount和Selected屬性 方法:AddItem、RemoveItem、Clear 事件:Click、DbClick。,組合框另外具有與列表框不同的屬性Style,組合框樣式由Style屬性來(lái)控制,如表所示:,6、 圖形控件,VB 6.0包含4個(gè)圖形控件: pictureBox控件 Image控件 Shape控件 Line控件,圖片框、圖像框的屬性、事件和方法,PictureBox稱為圖片框 Image控件稱為圖像框 圖片框和圖像框可以顯示的圖像文件格式有: 位圖文件(BMP)、圖標(biāo)文件(ICO)、JPEG格式文件、GIF格式文件。,與窗體屬性相同的屬性,1、Name 屬性——對(duì)象名 2、Left , Top , Width , Height , Visible, Enabled屬性 3、BorderStyle 屬性——邊框樣式 0:無(wú)邊框 1:有邊框(默認(rèn)) 4、FontBold等字體屬性,5、Picture 屬性 Picture 屬性用于窗體、圖片框和圖象框,它可以通過(guò)屬性窗口設(shè)置,用來(lái)把圖形放入這些對(duì)象中。 6、 Stretch屬性 Stretch屬性只用于圖象框來(lái)指定一個(gè)圖形是否要調(diào)整大小,以適應(yīng)圖像框控件的大?。═rue:縮放圖像;False(默認(rèn)值):圖像以原始大小顯示)。 其語(yǔ)法為: [.]Stretch =,圖形文件的裝入,1、圖片框與圖象框的區(qū)別 (1)圖片框( PictureBox )是容器控件,而圖象框( Image )不是。 (2)圖片框可以通過(guò)Print方法接收文本,而圖象框不能。 (3)圖象框比圖片框占用的內(nèi)存少,顯示速度快。,2、在設(shè)計(jì)階段裝入圖形文件 (1)用屬性窗口中的Picture屬性裝入 (2)通過(guò)“復(fù)制”、“粘貼”命令裝入窗體、圖片框或圖形框。,3、在運(yùn)行期間裝入圖形文件 LoadPicture函數(shù) LoadPicture函數(shù)用于在代碼中將圖形載入到窗體、PictureBox 控件或 Image 控件中。 其語(yǔ)法為: LoadPicture([]) Picture1.Picture=LoadPicture(“D:\usos\cap.bmp“) 說(shuō)明:①不帶參數(shù)的LoadPicture( )函數(shù),是使圖像控件不顯示任何圖像,使該圖片框變?yōu)榭瞻?用來(lái)刪除圖象.,編程實(shí)現(xiàn)三個(gè)圖片框中圖片的輪換,并使得一個(gè)圖片框中可以顯示整個(gè)圖片。 (1)界面設(shè)計(jì) 在窗體上添加如圖所示三個(gè)圖片框控件Picture1、Picture2、Picture3。將Picture3的AutoSize屬性設(shè)置為True。其他屬性值為默認(rèn)值。,,例題,(2)事件代碼 Private Sub Form_Load() Picture1.Picture = LoadPicture(“c:\steamship.gif“) Picture2.Picture = LoadPicture(“c:\bus.gif“) Picture3.Picture = LoadPicture(“c:\car.gif“) End Sub ‘或靜態(tài)裝入三幅圖 Private Sub Picture3_Click() Form1.Picture = Picture3.Picture Picture3.Picture = Picture2.Picture Picture2.Picture = Picture1.Picture Picture1.Picture = Form1.Picture Form1.Picture = LoadPicture() End Sub,直線和形狀,Shape、Line控件為輕量圖形控件,比PictureBox控件顯示速度快。 Shape控件和Line控件不支持任何事件。,主要屬性: BorderColor BoderStyle (7種值) BoderWidth (邊界寬度) BackStyle (0為透明,1為不透明) FillColor FillStyle (8種值),Shape控件的Shape屬性,圖4-8 Shape屬性確定的形狀,7、選擇控件—— 復(fù)選框和單選按鈕,復(fù)選框(CheckBox) 復(fù)選框通過(guò) Value 屬性指示其所處的狀態(tài)。 無(wú)論何時(shí),當(dāng)用戶單擊復(fù)選框時(shí)都將觸發(fā)其Click 事件。,單選框(OptionButton又稱為選項(xiàng)按鈕) 也是提供選擇項(xiàng)的控件,它是從多個(gè)可選項(xiàng)中選擇一項(xiàng)的操作。 單選框和復(fù)選框看起來(lái)相似。因此,可以把復(fù)選框中的操作方法用到單選框上來(lái)。 它們之間的區(qū)別是:?jiǎn)芜x框一般用于單項(xiàng)選擇,而復(fù)選框則可以用于多項(xiàng)選擇。,單選框和復(fù)選框的重要屬性、事件和方法,1、Name 屬性——對(duì)象名 2、Left、Top、Width、Height、Visible、 Enabled 屬性 3、Caption屬性——標(biāo)題文字 4、Style 屬性——選框的樣式 0:標(biāo)準(zhǔn)樣式(默認(rèn))顯示 1:以命令按鈕的樣式顯示,復(fù)選框(左)和單選按鈕(右),5、Alignment 屬性 0:框在文字左邊(默認(rèn)) 1:框在文字右邊 6、 Value 屬性 復(fù)選框: Value=0 表示未選中(默認(rèn)) Value=1 表示選中 Value=2 復(fù)選框?yàn)榛疑?,表示禁止用?選擇。 單選框: Value = True 表示選中 Value = False 表示未選中(默認(rèn)) 7、 Move方法 8、Click事件,例題,8、 框架,在VB6.0中,可以作為其他對(duì)象容器除窗體和圖片控件外,還有框架控件(Frame)。 在容器中的控件,可以隨載體同時(shí)移動(dòng),控件的位置也相對(duì)容器的位置而設(shè)置。 Frame控件不僅可以作為其他控件的載體,而且可用它將其他控件分成可標(biāo)識(shí)的控件組。 例如,用Frame控件對(duì)OptionButton控件分組等。,1. 屬性 (1)Caption屬性 Caption屬性設(shè)定框架上的標(biāo)題名稱。如果Caption為空字符,則框架為封閉的矩形框,但區(qū)別于矩形控件。 (2)Enabled屬性 當(dāng)Enabled為False時(shí),程序運(yùn)行時(shí)該框架在窗體中的標(biāo)題正文為灰色,表示框架中的所有對(duì)象均被屏蔽,不允許用戶對(duì)其進(jìn)行操作。 (3)Visible屬性 當(dāng)Visible為False時(shí),則程序運(yùn)行時(shí)框架及其所有控件全部被隱蔽起來(lái)。,2. 事件 框架可以響應(yīng)Click和DbClick事件,但應(yīng)用程序中一般不需要編寫框架的事件過(guò)程。 例:用框架對(duì)單選按鈕分組,9、 滾動(dòng)條,滾動(dòng)條包括水平滾動(dòng)條(HScrollBar)和垂直滾動(dòng)條(VScrollBar),可以作為圖形輔助控件和輸入設(shè)備。 屬性 1. Value屬性 Value屬性值為滾動(dòng)塊在滾動(dòng)條中位置的數(shù)值。 當(dāng)滾動(dòng)塊處于最左邊或最頂端時(shí),Value取最小值。反之,則Value值取最大值。 在中間的各個(gè)位置,Value值與位置是嚴(yán)格按照比例來(lái)設(shè)定的。,改變滾動(dòng)條Value屬性的方法有4種:,直接在屬性窗口中設(shè)定Value值; 鼠標(biāo)單擊兩端箭頭鍵改變滾動(dòng)條數(shù)值; 將滾動(dòng)塊沿滾動(dòng)條拖動(dòng)到任意位置; 用鼠標(biāo)單擊滾動(dòng)條中滾動(dòng)塊兩側(cè)的部分使?jié)L動(dòng)塊以翻頁(yè)的速度移動(dòng)。,2. Max和Min屬性 Value屬性的取值范圍由Max和Min屬性設(shè)置:Max代表Value的最大值,Min代表Value的最小值。Value屬性的缺省值為0和32767。 3. LargeChange和SmallChange屬性 LargeChange:?jiǎn)螕魸L動(dòng)塊前面和后面時(shí),Value增加或減少的增量 SmallChange:?jiǎn)螕魸L動(dòng)條兩端的箭頭時(shí),Value增加或減 少的增量,事件,1. Change事件 在滾動(dòng)塊移動(dòng)后發(fā)生,它是滾動(dòng)條最重要的事件。 2. Scroll事件 鼠標(biāo)拖動(dòng)滾動(dòng)塊時(shí)發(fā)生。單擊滾動(dòng)箭頭或滾動(dòng)條時(shí)不發(fā)生。 例題,10、 定時(shí)器,在程序設(shè)計(jì)中,對(duì)于由系統(tǒng)時(shí)鐘控制的定時(shí)響應(yīng)處理,例如每隔一段時(shí)間就進(jìn)行某種操作,通常使用定時(shí)器控件(Timer)。 加入定時(shí)器后,通過(guò)設(shè)置定時(shí)器間隔屬性Interval來(lái)確定事件發(fā)生的時(shí)間。,1. 重要屬性 (1)Interval屬性 Interval指定定時(shí)器事件發(fā)生的間隔毫秒數(shù),間隔的取值在0~65535之間,最長(zhǎng)的間隔大約為1分鐘 在程序運(yùn)行期間,定時(shí)器并不可見。 當(dāng)Interval屬性值為0時(shí)屏蔽定時(shí)器 (2)Enabled屬性 Enabled屬性控制定時(shí)器是否生效。,2 事件 定時(shí)器控件只有一個(gè)Timer事件。在一個(gè)Timer控件的預(yù)定的時(shí)間間隔過(guò)去之后發(fā)生。 例題1:建立數(shù)字計(jì)時(shí)器 例2:用計(jì)時(shí)器放大字體 例3:抽獎(jiǎng)程序,3.3 制作菜單,3.3.1 菜單概述 3.3.2 使用菜單編輯器,3.3.1 菜單概述,Windows程序界面中的菜單由以下元素組成 : 菜單條:每個(gè)菜單的標(biāo)題,如“文件”、“ 編輯”和“幫助”等; 菜單:用鼠標(biāo)單擊菜單條上的菜單標(biāo)題時(shí),出現(xiàn)的命令列表。 菜單項(xiàng):菜單中的每一個(gè)表項(xiàng)。 子菜單:從一個(gè)菜單項(xiàng)分支出來(lái)的菜單。 彈出式菜單:?jiǎn)螕羰髽?biāo)右鍵時(shí)出現(xiàn)的與當(dāng)前操作有關(guān)聯(lián)的菜單。,3.3.2 菜單編輯器,窗體上的菜單是通過(guò)菜單編輯器創(chuàng)建的。 1、使用“工具”菜單中的“菜單編輯器”命令; 2、單擊VB窗口工具欄上的“菜單編輯器”按鈕,屏幕上出現(xiàn)“菜單編輯器”的對(duì)話框,菜單編輯器,,設(shè)置菜單屬性,“標(biāo)題”屬性,用于菜單顯示。輸入“-”,則在兩個(gè)菜單命令項(xiàng)間加一分隔線 “名稱”屬性(不得確省),用于在代碼中引用菜單命令項(xiàng) “索引”屬性,用于確定菜單對(duì)象在控件數(shù)組中的位置 “幫助上下文ID”屬性,用于指定幫助文本的位置 “協(xié)調(diào)位置”屬性(一般取0),與鏈接或嵌入對(duì)象的顯示方式有關(guān),“復(fù)選”屬性,本項(xiàng)選中時(shí),菜單項(xiàng)前加一“√” 號(hào) “有效”屬性,本項(xiàng)選中時(shí),菜單項(xiàng)加亮顯示 “可見”屬性,本項(xiàng)選中時(shí),菜單項(xiàng)可見 “顯示窗口列表”屬性,用于顯示多文檔界面(MDI)子窗口列表,菜單編輯器的相關(guān)說(shuō)明,如果“標(biāo)題”欄輸入“-”,則表示產(chǎn)生一分隔線 除分隔線外,菜單都可以接收click事件 在菜單項(xiàng)的字母前加&,則會(huì)在&后一個(gè)字母下加下劃線,表示可以通過(guò)alt+此字母打開此菜單 舉例,創(chuàng)建彈出式菜單,使用“菜單編輯器”創(chuàng)建菜單 菜單的“Visible”屬性設(shè)為False 在彈出式菜單的關(guān)聯(lián)對(duì)象的MouseUp或者M(jìn)ousedown事件中添加代碼: 窗體名.PopupMenu 例題,1.創(chuàng)建應(yīng)用程序的界面時(shí),在窗體上設(shè)置了一個(gè)命令按鈕,運(yùn)行程序后,命令按鈕沒有出現(xiàn)在窗體上,可能的原因是 ____________ 。 A.該命令按鈕的 Value 屬性被設(shè)置為 False B.該命令按鈕的 Enabled 屬性被設(shè)置為 False C.該命令按鈕的 Visible 屬性被設(shè)置為 False D.該命令按鈕的 Default 屬性被設(shè)置為 True,2.若需要在同一窗口內(nèi)安排兩組相互獨(dú)立的單選按鈕( OptionButton ),可使用 ____________ 控件將它們分隔開。 ① TexBox ② PictureBox ③ Image ④ Frame A. ①② B. ②③ C. ②④ D. ③④,3.單擊滾動(dòng)條兩端的箭頭時(shí),滾動(dòng)條 Value 屬性值的改變量由 ____________ 屬性值決定。 A. LargeChange B. Max C. SmallChange D. Min,4. 下列語(yǔ)句中,正確的是: A Text1.setfocus B Form1.clear C Label1.setfocus D List1.cls 5. 創(chuàng)建一個(gè)名為“文件”的菜單項(xiàng),欲使其可用Alt+F方式訪問,則在菜單編輯器的標(biāo)題文本框中應(yīng)輸入: A 文件($F) B 文件(&F) C 文件(#F) D 文件(%F),(6)在窗體上畫一個(gè)列表框和一個(gè)命令按鈕,其名稱分別為L(zhǎng)ist1和Command1,然后編寫如下事件過(guò)程: Private Sub Form_Load() List1.AddItem “Item 1“ List1.AddItem “Item 2“ List1.AddItem “Item 3“ End Sub Private Sub Command1_Click() List1.List(List1.ListCount) = “AAAA“ End Sub 程序運(yùn)行后,單擊命令按鈕,其結(jié)果為 A)把字符串“AAAA”添加到列表框中,但位置不能確定 B)把字符串“AAAA”添加到列表框的最后(即“Item 3”的后面) C)把列表框中原有的最后一項(xiàng)改為 “AAAA” D)把字符串“AAAA”插入到列表框的最前面(即“Item 1”的前面),(7)在窗體上畫一個(gè)命令按鈕、一個(gè)文本框和一個(gè)計(jì)時(shí)器控件,名稱分別為Command1,Text1和Timer1,在屬性窗口中把計(jì)時(shí)器的Interval屬性設(shè)置為1000,Enabled屬性設(shè)置為False,程序運(yùn)行后,如果單擊命令按鈕,則每隔一秒鐘在文本框中顯示一次當(dāng)前的時(shí)間。以下是實(shí)現(xiàn)上述操作的程序: Private Sub Command1_Click() Timer1._________ End Sub Private Sub Timer1_Timer() Text1.Text = Time End Sub 在______處應(yīng)填入的內(nèi)容是 A)Enabled=True B)Enabled=False C)Visible=True D)Visible=False,(8)假定在圖片框Picture1中裝入了一個(gè)圖形,為了清除該圖形(不刪除圖片框),應(yīng)采用的正確方法是: A)選擇圖片框,然后按Del鍵 B)執(zhí)行語(yǔ)句Picture1.Picture=LoadPicture(“”) C)執(zhí)行語(yǔ)句Picture1.Picture=”” D)選擇圖片框,在屬性窗口中選擇Picture屬性,然后按回車鍵,(9)在窗體上畫一個(gè)List1的列表框,一個(gè)名稱為L(zhǎng)abel1的標(biāo)簽,列表框中顯示若干個(gè)項(xiàng)目,當(dāng)單擊列表框中的某個(gè)項(xiàng)目時(shí),在標(biāo)簽中顯示被選中的項(xiàng)目的名稱,下列能正確實(shí)現(xiàn)上述操作的程序是 A) Private Sub List1_Click() Label1.Caption = List1.ListIndex End Sub B) Private Sub List1_Click() Label1.Name = List1.ListIndex End Sub,C) Private Sub List1_Click() Label1.Name = List1.Text End Sub D)PrivateSubList1_Click() Label1.Caption = List1.Text End Sub,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- VB 常用 控件 界面設(shè)計(jì) 教程
鏈接地址:http://www.hcyjhs8.com/p-2865979.html