ncre vb電子光盤(pán)課件第6章_第1頁(yè)
ncre vb電子光盤(pán)課件第6章_第2頁(yè)
ncre vb電子光盤(pán)課件第6章_第3頁(yè)
ncre vb電子光盤(pán)課件第6章_第4頁(yè)
ncre vb電子光盤(pán)課件第6章_第5頁(yè)
已閱讀5頁(yè),還剩103頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第6章

常用標(biāo)準(zhǔn)控件第6章

常用標(biāo)準(zhǔn)控件控件是構(gòu)成用戶(hù)界面的基本元素。控件分為兩類(lèi):標(biāo)準(zhǔn)控件(或稱(chēng)內(nèi)部控件)和ActiveX控件啟動(dòng)VisualBasic后,工具箱中只有20個(gè)標(biāo)準(zhǔn)控件本章將系統(tǒng)和深入地介紹部分標(biāo)準(zhǔn)控件的用法,包括:標(biāo)簽、文本框、圖片框、圖像框、直線(xiàn)和形狀、命令按鈕、復(fù)選框、單選按鈕、列表框、組合框、水平滾動(dòng)條、垂直滾動(dòng)條、計(jì)時(shí)器、框架。

6.1文本控件與文本有關(guān)的標(biāo)準(zhǔn)控件:標(biāo)簽和文本框標(biāo)簽:顯示文本,不能進(jìn)行編輯。默認(rèn)名稱(chēng)和標(biāo)題(Caption)為L(zhǎng)abelX(X為1、2、3...)文本框:既可顯示文本,又可輸入文本。默認(rèn)名稱(chēng)和標(biāo)題為T(mén)extX(X為1、2、3...)工具箱中,標(biāo)簽和文本框的圖標(biāo)如圖6.1.1標(biāo)簽標(biāo)簽用來(lái)顯示文本信息。1.標(biāo)簽的屬性、事件和方法標(biāo)簽與窗體及其他控件相同的部分屬性,包括:FontBold,F(xiàn)ontItalic,F(xiàn)ontName,F(xiàn)ontsize,Height,F(xiàn)ontunderline,Left,Name,Top,Visible,Width其他屬性如下:(1)Alignment

確定標(biāo)簽中標(biāo)題的放置方式:

0從標(biāo)簽的左邊開(kāi)始顯示標(biāo)題(默認(rèn))

1標(biāo)題靠右顯示

2標(biāo)題居中顯示6.1.1標(biāo)簽(2)Autosize

若屬性值為T(mén)rue,則可根據(jù)Caption屬性的內(nèi)容自動(dòng)調(diào)整標(biāo)簽的大?。环駝t按設(shè)計(jì)時(shí)定義的大?。?)BorderStyle設(shè)置標(biāo)簽的邊框:0:無(wú)邊框(默認(rèn))1:有邊框(4)Caption在標(biāo)簽中顯示文本。6.1.1標(biāo)簽(5)Enabled返回或設(shè)置一個(gè)值,確定一個(gè)窗體或控件是否能夠?qū)τ脩?hù)產(chǎn)生的事件作出反應(yīng)。格式如下:

對(duì)象.Enabled[=Boolean]“對(duì)象”可以是窗體或控件。值為T(mén)rue時(shí),允許對(duì)象對(duì)事件作出反應(yīng);值為False時(shí),禁止對(duì)事件作出反應(yīng),對(duì)象變?yōu)榛疑?/p>

(6)Backstyle

對(duì)象.Backstyle[=0或1]當(dāng)值為1,標(biāo)簽將覆蓋背景;當(dāng)值為0,則標(biāo)簽為“透明”。6.1.1標(biāo)簽(7)WordWrap

只適用于標(biāo)簽,決定Caption屬性的顯示方式。值為T(mén)rue:在垂直方向變化大小以與標(biāo)題文本相適應(yīng),水平方向的大小與原來(lái)所畫(huà)的標(biāo)簽相同;值為False,在水平方向上擴(kuò)展到標(biāo)題中最長(zhǎng)的一行,在垂直方向上顯示標(biāo)題的所有各行。為了使WordWrap起作用,應(yīng)把Autosize屬性設(shè)置為T(mén)rue。標(biāo)簽可觸發(fā)Click和DblClick事件。6.1.2文本框文本框是一個(gè)文本編輯區(qū)域。在設(shè)計(jì)階段或運(yùn)行期間輸入、編輯、修改和顯示文本。1.文本框?qū)傩耘c其他控件相同的一些屬性:BorderStyle、Enabled、FontBold、FontItalic、FontName、Fontsize、Fontunderline、Height、left、Name、Top、Visible、Width(1)MaxLength設(shè)置允許在文本框中輸入的最大字符數(shù)。若被設(shè)置為0,則輸入的字符數(shù)不能超過(guò)32K。

6.1.2文本框(2)Multiline當(dāng)屬性值為False,則只能輸入單行文本;當(dāng)被設(shè)置為T(mén)rue時(shí),可輸入多行文本。(3)PassWordChar在默認(rèn)狀態(tài)下,該屬性被設(shè)置為空字符串,從鍵盤(pán)輸入的每個(gè)字符都能顯示。若把PassWordChar屬性設(shè)置為一個(gè)字符,則顯示的不是鍵入的字符,而是被設(shè)置的字符。文本框中的實(shí)際內(nèi)容仍是輸入的文本。利用這一特性,可以設(shè)置口令。6.1.2文本框(4)ScrollBars:文本框中有沒(méi)有滾動(dòng)條

0文本框中沒(méi)有滾動(dòng)條

1只有水平滾動(dòng)條

2只有垂直滾動(dòng)條

3同時(shí)具有水平和垂直滾動(dòng)條注意,只有當(dāng)MultiLine屬性被設(shè)置為T(mén)rue時(shí),才能用ScrollBars屬性在文本框中設(shè)置滾動(dòng)條。(5)SelLength:當(dāng)前選中的字符數(shù)。當(dāng)在文本框中選擇文本時(shí),該屬性值會(huì)隨著選擇字符的多少而改變。6.1.2文本框(6)SelStart:定義當(dāng)前選擇的文本的起始位置0表示選擇的開(kāi)始位置在第一個(gè)字符之前1表示從第二個(gè)字符之前開(kāi)始選擇,依此類(lèi)推。(7)SelText:當(dāng)前所選擇的文本字符串。若沒(méi)有選擇文本,則該屬性含有一個(gè)空字符串若在程序中設(shè)置SelText屬性,則用該值代替文本框中選中的文本。例:設(shè)文本框Text1中文本:

MicrosoftVisualBasicProgramming并選擇“Basic”,則執(zhí)行語(yǔ)句Text1.SelText="C++"后,上述文本將變成:

MicrosoftVisualC++Programming6.1.2文本框(8)Text:

設(shè)置文本框中顯示的內(nèi)容例如:Text1.Text=“VisualBasic”(9)Locked:設(shè)定文本框是否可被編輯當(dāng)設(shè)置值為False(默認(rèn)值)時(shí),可以編輯文本框中的文本;當(dāng)設(shè)置值為T(mén)ure時(shí),可以滾動(dòng)和選擇控件中的文本,但不能編輯。6.1.2文本框2.文本框事件和方法文本框支持Click、DblClick、Change、GotFocus、LostFocus等事件。(1)Change當(dāng)文本框Text屬性改變時(shí),觸發(fā)Change事件。(2)GotFocus:獲得焦點(diǎn)

。只有當(dāng)一個(gè)文本框被激活并且可見(jiàn)性為T(mén)rue時(shí)才能接收到焦點(diǎn)。6.1.2文本框(3)LostFocus:失去焦點(diǎn)當(dāng)光標(biāo)離開(kāi)當(dāng)前文本框或者用鼠標(biāo)選擇窗體中的其他對(duì)象時(shí)觸發(fā)該事件。用Change事件過(guò)程和LostFocus事件過(guò)程都可以檢查文本框的Text屬性值,但后者更有效。(4)SetFocus:把光標(biāo)移到指定的文本框

[對(duì)象.]SetFocus單擊命令按鈕,在Text1中顯示由Command1_Click設(shè)定的內(nèi)容,執(zhí)行該事件后,引發(fā)Text1的Change事件6.1.2文本框3.文本框的應(yīng)用【例6.1】用Change事件改變文本框的Text屬性。窗體上有三個(gè)文本框和一個(gè)命令按鈕,其N(xiāo)ame屬性分別為T(mén)ext1、Text2、Text3和Command1:PrivateSubCommand1_Click()Text1.Text=“MicrosoftVisualBasic6.0”EndSub

PrivateSubText1_Change()Text2.Text=LCase(Text1.Text)Text3.Text=UCase(Text1.Text)EndSub執(zhí)行Text1_Change事件過(guò)程,在Text2、Text3分別用小寫(xiě)字母和大寫(xiě)字母顯示Text1中的內(nèi)容?!纠?.2】數(shù)據(jù)過(guò)濾檢查輸入的考試分?jǐn)?shù)(x=Val(Score.Text))是否介于0~100之間,若是,繼續(xù)執(zhí)行;否則響鈴(Beep),清除文本框的內(nèi)容,并使控制重新回到文本框需要對(duì)輸入的數(shù)據(jù)進(jìn)行“過(guò)濾”,即接收符合要求的數(shù)據(jù),“濾掉”無(wú)效數(shù)據(jù)。通過(guò)LostFocus事件來(lái)實(shí)現(xiàn)。即當(dāng)光標(biāo)離開(kāi)時(shí),執(zhí)行該事件。

在窗體有Name屬性為Score的文本框,名稱(chēng)為Command1的命令按鈕

在窗體層聲明如下的變量:Dimtotal【例6.2】數(shù)據(jù)過(guò)濾SubScore_LostFocus()x=Val(Score.Text)Ifx<0Orx>100ThenBeepScore.Text=""Score.SetFocusPrint"請(qǐng)重新輸入"Elsetotal=xEndIfEndSub命令按鈕的事件過(guò)程如下:SubCommand1_Click()PrinttotalEndSubScore_LostFocus是當(dāng)輸入控制權(quán)離開(kāi)文本框Score時(shí)所產(chǎn)生的操作如果不符合要求,則清除文本框中的內(nèi)容,并要求重新輸入,且不離開(kāi)該文本框如果考試分?jǐn)?shù)介于0~100之間,繼續(xù)后續(xù)操作6.2圖形控件

VisualBasic中與圖形有關(guān)的標(biāo)準(zhǔn)控件有4種:圖片框、圖像框、直線(xiàn)和形狀這一節(jié)中,將介紹這些控件的用法。6.2.1圖片框和圖像框圖片框和圖像框是顯示圖形的兩種基本控件圖片框比圖像框更靈活,且適用于動(dòng)態(tài)環(huán)境圖像框適用于靜態(tài)情況,即不需要再修改的位圖、圖標(biāo)、Windows元文件及其他格式的圖形文件。

圖片框和圖像框都可以裝入多種格式的圖形文件其主要區(qū)別是:圖像框不能作為父控件,而且不能通過(guò)Print方法接收文本6.2.1圖片框和圖像框1.與窗體屬性相同的屬性窗體的部分屬性適用于圖片框和圖像框,包括:Enabled、Name、Visible、FontBold、FontItalic、FontName、Fontsize、FontUnderline等注意,對(duì)象名不能省略。窗體屬性AutoRedraw、Height、Left、Top、Width等可用于圖片框和圖像框,但應(yīng)注意坐標(biāo)的參考點(diǎn)不一樣:窗體位置使用的是絕對(duì)坐標(biāo),以屏幕為參考點(diǎn);圖片框和圖像框的位置使用的是相對(duì)坐標(biāo),以窗體為參考點(diǎn)。6.2.1圖片框和圖像框2.CurrentX和CurrentY屬性設(shè)置下一個(gè)輸出的水平(CurrentX)或垂直(CurrentY)坐標(biāo)。格式如下:[對(duì)象.]CurrentX[=X][對(duì)象.]CurrentY[=Y]“對(duì)象”可以是窗體、圖片框和打印機(jī),X和Y表示橫坐標(biāo)值和縱坐標(biāo)值,默認(rèn)時(shí)以twip為單位。如果省略“=X”或“=Y”,則顯示當(dāng)前的坐標(biāo)值6.2.1圖片框和圖像框【例6.3】在窗體上建立一個(gè)圖片框,分別在窗體和圖片框中顯示信息。PrivateSubForm_Click()Picture1.PrintTab(10);"Picture1Tab10test"PrintTab(20);"FormTab20test"Picture1.CurrentX=1000Picture1.CurrentY=800CurrentX=1000CurrentY=800Print"FormCurrentX,CurrentYTest"Picture1.Print"Picture1CurrentX,CurrentYtest"PrintTab(15);CurrentX,CurrentYPicture1.PrintTab(15);CurrentX,CurrentYEndSub分別在圖片框和窗體的指定位置輸出兩個(gè)字符串分別重新設(shè)置Picture1和窗體中光標(biāo)的位置,其后的輸出即從新位置開(kāi)始。6.2.1圖片框和圖像框3.Picture屬性Picture屬性:把圖形放入窗體、圖片框和圖像框等對(duì)象圖形以文件存放在磁盤(pán),VB支持以下格式的圖形文件:(1)Bitmap(位圖):擴(kuò)展名為.BMP或.DIB。(2)Icon(圖標(biāo)):最大尺寸為32×32像素,也可以為16×16像素,文件擴(kuò)展名為.ICO或.CUR。(3)Metafile(圖元文件):普通圖元文件的擴(kuò)展名為.WMF,增強(qiáng)型圖元文件的擴(kuò)展名為.EMF。(4)JPEG(JointPhotographicsExpertGroup):支持8位和24位顏色的壓縮位圖格式,文件擴(kuò)展名為.JPG。(5)GIF(GraphicsInterchangeFormat):壓縮位圖格式,支持256種顏色,擴(kuò)展名為.GIF。6.2.1圖片框和圖像框4.Stretch屬性用于自動(dòng)調(diào)整圖像框中圖形內(nèi)容的大小既可通過(guò)屬性窗口、也可通過(guò)程序代碼設(shè)置該屬性的取值為T(mén)rue或False。當(dāng)其屬性值為False時(shí),將自動(dòng)放大或縮小圖像框中的圖形以與圖像框的大小相適應(yīng)。和窗體一樣,圖片框和圖像框可以接收Click(單擊)、DblClick(雙擊)事件,可以在圖片框中使用Cls(清屏)和Print方法。6.2.2圖形文件的裝入圖形文件的裝入:把VB所能接收的圖形文件裝入窗體、圖片框或圖像框中。1.圖片框與圖像框的區(qū)別(1)圖片框是“容器”控件,可作為父控件,而圖像框不能作為父控件。(2)圖片框可以使用Print方法,并可接收由像素組成的圖形,而圖像框不能接收用Print方法輸入的信息,也不能用繪圖方法在圖像框上繪制圖形。

(3)圖像框比圖片框占用的內(nèi)存少,顯示速度快。6.2.2圖形文件的裝入2.在設(shè)計(jì)階段裝入圖形文件設(shè)計(jì)階段,用兩種方法裝入圖形文件。(1)用屬性窗口中的Picture屬性裝入

可以通過(guò)Picture屬性把圖形文件裝入窗體、圖片框或圖像框中。以圖片框?yàn)槔?,步驟如下:①在窗體上建立一個(gè)圖片框。②保持圖片框?yàn)榛顒?dòng)控件,單擊Picture屬性③單擊右端的“...”的小格,顯示“加載圖片”對(duì)話(huà)框,選擇文件。6.2.2圖形文件的裝入(2)利用剪貼板把圖形粘貼(Paste)到窗體、圖片框或圖像框中。以圖片框?yàn)槔孩儆美L圖軟件畫(huà)出所需要的圖形,并把該圖形拷貝到剪貼板中。②在窗體上建立一個(gè)圖片框,并保持活動(dòng)狀態(tài)。③執(zhí)行“編輯”菜單中的“粘貼”命令,剪貼板中的圖形即出現(xiàn)在圖片框中。在建立圖片框時(shí),應(yīng)適當(dāng)調(diào)整其大小,以便能裝入完整的圖形。6.2.2圖形文件的裝入3.在運(yùn)行期間裝入圖形文件運(yùn)行期間,用LoadPicture函數(shù)加載圖形文件。

[對(duì)象.]Picture=LoadPicture(“文件名”)“文件名”:指的是圖形文件。例,窗體上有名為Picture1的圖片框:Picture1.picture=loadpicture(“c:\vb60\Graphics\metafile\3dxcirar.wmf”)則把一個(gè)圖元文件裝入該圖片框中。若圖片框中已有圖形,則被新裝入的圖形覆蓋。假定在窗體上再建立一個(gè)圖片框Picture2,則Picture2.Picture=Picture1.Picture把Picture1中的圖形拷貝到Picture2中。6.2.2圖形文件的裝入用LoadPicture函數(shù)刪除圖片框中的圖形例:用“空”圖形覆蓋原來(lái)的圖形。

Picture1.picture=loadpicture()在窗體上建立4個(gè)圖片框,Autosize屬性設(shè)置為T(mén)rue,把Stretch屬性設(shè)置為T(mén)rue。事件過(guò)程如下:PrivateSubForm_Load()picture1.Picture=LoadPicture(“c:\vb98\...\arw04up.ico")picture2.Picture=LoadPicture("c:\vb98\...\arw04dn.ico")picture3.Picture=LoadPicture("c:\vb98\...\arw04lt.ico")picture4.Picture=LoadPicture(“c:\vb98\...\arw04rt.ico”)EndSubAutosize屬性被設(shè)置為T(mén)rue時(shí),圖片框會(huì)根據(jù)裝入的圖形的大小調(diào)整其大小。簡(jiǎn)化了路徑

6.2.2圖形文件的裝入綜上所述,在設(shè)計(jì)階段和運(yùn)行期間都可以裝入圖形文件。在設(shè)計(jì)階段裝入圖形,這個(gè)圖形將會(huì)與窗體一起存到文件中。當(dāng)生成可執(zhí)行文件(.EXE)時(shí),不必提供需要裝入的圖形文件。如果在運(yùn)行期間用LoadPicture函數(shù)裝入圖形,則必須確保能找到相應(yīng)的圖形文件,否則會(huì)出錯(cuò)。在設(shè)計(jì)階段裝入圖形文件更安全一些,但窗體文件(.frm)較大。

6.2.2圖形文件的裝入【例6.4】編寫(xiě)程序,交換兩個(gè)圖片框中的圖形。在窗體上建立三個(gè)圖片框Picture1、Picture2、Picture3。Form_load事件過(guò)程把兩個(gè)圖標(biāo)文件分別裝入兩個(gè)圖片框中事件過(guò)程如下:PrivateSubForm_Load()Picture1.Picture=LoadPicture("c:\...\3dlrsign.wmf")Picture2.Picture=LoadPicture("c:\...\money.wmf")EndSub簡(jiǎn)化了路徑6.2.2圖形文件的裝入在事件過(guò)程Form_Click中通過(guò)第三個(gè)圖片框交換兩個(gè)圖片框中的圖形。PrivateSubForm_Click()'交換位圖Picture3.Picture=Picture1.PicturePicture1.Picture=Picture2.PicturePicture2.Picture=Picture3.Picture'把第三個(gè)圖片框設(shè)置為空Picture3.Picture=LoadPicture()EndSub6.2.3直線(xiàn)和形狀直線(xiàn)和形狀也是圖形控件。用直線(xiàn)控件可以建立簡(jiǎn)單的直線(xiàn),通過(guò)屬性的變化可以改變直線(xiàn)的粗細(xì)、顏色及線(xiàn)型。用形狀控件可以在窗體上畫(huà)矩形,通過(guò)設(shè)置該控件的Shape屬性可以畫(huà)出圓、橢圓和圓角矩形,同時(shí)可設(shè)置形狀的顏色和填充圖案。在工具箱中,直線(xiàn)和形狀的圖標(biāo)如下:

6.2.3直線(xiàn)和形狀1.屬性直線(xiàn)和形狀具有Name和Visible屬性。形狀具有Height、Left、Top、Width等屬性直線(xiàn)具有位置屬性X1、Y1和X2、Y2,分別表示直線(xiàn)兩個(gè)端點(diǎn)的坐標(biāo),即(X1,Y1)和(x2,Y2)。此外,直線(xiàn)和形狀還具有以下屬性:(1)BorderColor:設(shè)置形狀邊界和直線(xiàn)的顏色BorderColor用6位十六進(jìn)制數(shù)表示??梢酝ㄟ^(guò)調(diào)色板選擇所需要的顏色6.2.3直線(xiàn)和形狀(2)BoderStyle:確定直線(xiàn)或形狀的邊界線(xiàn)的線(xiàn)型7種取值:0-TransParent(透明)1-Solid───(實(shí)線(xiàn))2-Dash------

(虛線(xiàn))3-Dot.....

(點(diǎn)線(xiàn))4-Dash-Dot-.-.-.-

(點(diǎn)劃線(xiàn))5-Dosh-Dot-Dot-..-..(雙點(diǎn)劃線(xiàn))6-InsideSolid───

(內(nèi)實(shí)線(xiàn))當(dāng)BorderStyle值為0時(shí),控件實(shí)際上是不可見(jiàn)的6.2.3直線(xiàn)和形狀(3)BoderWidth:直線(xiàn)的寬度或形狀邊界線(xiàn)的寬度默認(rèn)時(shí)以像素為單位。(4)BackStyle:決定形狀是否被指定的顏色填充屬性值為0(默認(rèn))時(shí),形狀邊界內(nèi)的區(qū)域是透明的屬性值為1時(shí),該區(qū)域由BackColor屬性所指定的顏色填充。該屬性用于形狀控件。(5)FillColor:用來(lái)定義形狀的內(nèi)部顏色6.2.3直線(xiàn)和形狀(6)FillStyle:決定形狀控件內(nèi)部的填充圖案

該屬性值,可以取以下8種值:0-Solid(實(shí)心)1-TransParent(透明)2-HorizontalLine(水平線(xiàn))3-VertialLine

(垂直線(xiàn))4-UpwardDiagonal(向上對(duì)角線(xiàn))5-DownwardDiagonal(向下對(duì)角線(xiàn))6-Cross(交叉線(xiàn))7-DiagonalCross

(對(duì)角交叉線(xiàn))6.2.3直線(xiàn)和形狀(7)Shape:確定所畫(huà)形狀的幾何特性??杀辉O(shè)為以下6種值,分別對(duì)應(yīng)不同的幾何形狀:值

數(shù)

狀0

vbShapeRectangle矩形(默認(rèn))1

vbShapeSquare

正方形2

vbShapeOval

橢圓形3

vbShapeCircle

圓形4

vbShapeRoundedRectangle四角圓化的矩形5

vbShapeRoundedSquare四角圓化的正方形6.2.3直線(xiàn)和形狀【例6.5】在窗體上顯示6種可以使用的形狀。

在窗體上畫(huà)一個(gè)形狀控件,然后建立該控件的數(shù)組,畫(huà)出6個(gè)形狀,

編寫(xiě)如下事件過(guò)程:PrivateSubForm_Click()FontSize=12CurrentX=350Print"0";Fori=1To5Shape1(i).Left=Shape1(i-1).Left+1050Shape1(i).Shape=iShape1(i).Visible=TrueCurrentX=CurrentX+750Printi;NextIEndSub6.3按鈕控件命令按鈕是VisualBasic應(yīng)用程序中最常用的控件提供了用戶(hù)與應(yīng)用程序交互最簡(jiǎn)便的方法。在工具箱中,命令按鈕的圖標(biāo)如圖6.3.1屬性和事件以前介紹的大多數(shù)屬性都可用于命令按鈕:Caption、Enabled、FontBold、FontItalic、FontName、Fontsize、Fontunderline、Height、Left、Name、Top、Visible、Width。此外,還有以下屬性:1.Cancel當(dāng)一個(gè)命令按鈕的Cancel屬性被設(shè)置為T(mén)rue時(shí),按Esc鍵與單擊該命令按鈕的作用相同。一個(gè)窗體只允許有一個(gè)命令按鈕的Cancel屬性被設(shè)置為T(mén)rue。6.3.1屬性和事件2.Default當(dāng)命令按鈕的Default屬性為T(mén)rue時(shí),按回車(chē)鍵和單擊該命令按鈕的效果相同。窗體中只能有一個(gè)命令按鈕的Default屬性被設(shè)為T(mén)rue3.Style屬性Style屬性值指定控件的顯示類(lèi)型和操作。(1)0(vbButtonStandard):標(biāo)準(zhǔn)樣式(2)1(vbButtonGraphical):圖形格式。控件用圖形顯示,命令按鈕中不僅顯示文本(Caption),而且可以顯示圖形(Picture)。6.3.1屬性和事件4.Picture屬性Style屬性為1時(shí),用Picture屬性指定命令按鈕的圖形5.DownPicture屬性設(shè)置當(dāng)控件被單擊并處于按下?tīng)顟B(tài)時(shí)在顯示的圖形Style屬性必須為1(圖形格式若沒(méi)有設(shè)置DownPicture屬性的值,則當(dāng)按鈕被按下時(shí)將顯示賦值給Picture屬性的圖形。6.3.1屬性和事件6.DisabledPicture屬性該屬性用來(lái)設(shè)置對(duì)圖形的引用,當(dāng)命令按鈕禁止使用(即Enabled屬性被設(shè)置為False)時(shí)在按鈕中顯示該圖形。Style屬性為1,才能使DisabledPicure屬性生效。在設(shè)計(jì)階段可以從屬性窗口中設(shè)置命令按鈕的Picture、DownPicture或DisabledPicture的屬性,也可以通過(guò)LoadPicture函數(shù)裝入圖形。命令按鈕最常用的事件是單擊(Click)事件注意,命令按鈕不支持雙擊(DblClick)事件。6.3.2應(yīng)用舉例為了防止誤操作,可以讓命令按鈕暫時(shí)失去作用或消失。例如:設(shè)置Command1.Enabled=True使命令按鈕生效設(shè)置Command1Enabled=False使命令按鈕失去作用設(shè)置Command1.Visible=False使命令按鈕消失設(shè)置Command1.Visible=True使命令按鈕重新出現(xiàn)6.3.2應(yīng)用舉例用Enabled屬性檢查命令按鈕是否有效,例如:SubForm_Click()IfCommand1.EnabledThenText1.Text="Command1Buttonisenabled"ElseText1.Text="Command1Buttonisdisabled"EndIfEndSub測(cè)試命令按鈕Command1是否可用。如果可用,則其Enabled屬性為T(mén)rue,即Command1.Enabled=True,過(guò)程中條件語(yǔ)句的“條件”為真,否則為假。6.3.2應(yīng)用舉例【例6.6】編寫(xiě)程序,模擬交通信號(hào)燈的切換。

信號(hào)燈有紅、黃、綠三種顏色,在某個(gè)時(shí)刻只能亮一個(gè)。在窗體上畫(huà)三個(gè)圖像框和兩個(gè)命令按鈕,在每個(gè)圖像框中裝入一個(gè)圖標(biāo)(.ico)文件,這文件的路徑為:\vb98\graphics\icons\traffic6.3.2應(yīng)用舉例把三個(gè)圖像框重合放在同一個(gè)位置上。這三個(gè)圖像框中的信號(hào)燈大小完全相同,但有三種不同的狀態(tài),即所“亮”燈的顏色不一樣,分別為綠、黃、紅。為了使某一種信號(hào)燈“亮”,只要使另外兩個(gè)圖像框隱藏即可實(shí)現(xiàn)。事件過(guò)程如下:PrivateSubForm_Load()Image2.Visible=FalseImage3.Visible=FalseEndSubForm_Load對(duì)控件進(jìn)行初始化處理,使得在程序剛開(kāi)始運(yùn)行時(shí)隱藏圖像框Image2和Image3,只有Image1(綠色信號(hào)燈)可見(jiàn)

PrivateSubCommand1_Click()IfImage1.Visible=TrueThenImage1.Visible=FalseImage2.Visible=TrueElseIfImage2.Visible=TrueThenImage2.Visible=FalseImage3.Visible=TrueElseImage3.Visible=FalseImage1.Visible=TrueEndIfEndSub

PrivateSubCommand2_Click()EndEndSub判斷當(dāng)前哪一個(gè)圖像框可見(jiàn),然后隱藏這個(gè)圖像框,并依次使下一個(gè)圖像框可見(jiàn)。這樣,當(dāng)每次單擊該命令按鈕時(shí),只有一個(gè)圖像框是可見(jiàn)的,從而產(chǎn)生只有一種信號(hào)燈在“亮”著的效果。用End語(yǔ)句結(jié)束程序的運(yùn)行6.4選擇控件—復(fù)選框和單選按鈕用于選擇的標(biāo)準(zhǔn)控件:復(fù)選框、單選按鈕、列表框和組合框。復(fù)選框和單選按鈕用來(lái)表示狀態(tài):復(fù)選框用“√”表示被選中,可以同時(shí)選擇多個(gè)復(fù)選框。在一組單選按鈕中,只能選擇其中的一個(gè),單選按鈕一般用框架進(jìn)行分組在工具箱中,復(fù)選框和單選按鈕的圖標(biāo)如下:6.4.1復(fù)選框和單選按鈕的屬性和事件1.屬性以前介紹的大多數(shù)屬性都可用于復(fù)選框和單選按鈕,包括:Caption、Enabled、FontBold、FontItalic、FontName、Fontsize、Fontunderline、Height、Left、Name、Top、Visible、Width。復(fù)選框和單選按鈕可以使用Picture、DownPicture和DisabledPicture屬性。6.4.1復(fù)選框和單選按鈕的屬性和事件1.Value屬性:表示復(fù)選框或單選按鈕的狀態(tài)單選按鈕:如果設(shè)置Value屬性為T(mén)rue時(shí),該單選按鈕是“打開(kāi)”的,按鈕的中心有一個(gè)圓點(diǎn);屬性值為False,則該單選按鈕是“關(guān)閉”的,按鈕是一個(gè)圓圈。復(fù)選框:Value屬性值0表示沒(méi)有選擇該復(fù)選框1表示選中該框2表示該復(fù)選框被禁止(灰色)。6.4.1復(fù)選框和單選按鈕的屬性和事件2.Alignment屬性:設(shè)置控件標(biāo)題的對(duì)齊方式對(duì)象.Alignment[=值]3.Style屬性:指定復(fù)選框或單選按鈕的顯示方式6.4.1復(fù)選框和單選按鈕的屬性和事件使用Style屬性時(shí),應(yīng)注意以下幾點(diǎn):(1)Style是只讀屬性,只能在設(shè)計(jì)時(shí)使用。(2)當(dāng)Style屬性為1時(shí),可以用Picture、DownPicture和DisabledPicture屬性分別設(shè)置不同的圖標(biāo)或位圖,以表示未選定、選定和禁用(3)Style屬性被設(shè)置為不同的值(0或1)時(shí),其外觀(guān)也不一樣6.4.2應(yīng)用舉例【例6.7】用復(fù)選框控制文本輸入是否加“下劃線(xiàn)”和“斜體顯示”。窗體上添加一個(gè)文本框、兩個(gè)復(fù)選框。在文本框中顯示文本,由兩個(gè)復(fù)選框決定顯示的文本是否加下劃線(xiàn)或用斜體顯示。6.4.2應(yīng)用舉例編寫(xiě)如下的事件過(guò)程:PrivateSubForm_Load()display.FontSize=20EndSub

PrivateSubDisplay_Change()IfUnderOn.Value=1Thendisplay.FontUnderline=TrueElseIfthruon=1Thendisplay.FontStrikethru=TrueEndIfEndSubDisplayChange過(guò)程是當(dāng)用戶(hù)在文本框中鍵入數(shù)據(jù)時(shí)的反應(yīng)。根據(jù)復(fù)選框的Value屬性值決定文本的輸出方式。如果UnderOn的Value屬性值為1,則加下劃線(xiàn);如果ItalicOn的Value屬性值為1,則用斜體顯示6.4.2應(yīng)用舉例

PrivateSubItalicOn_Click()IfItalicOn.Value=1Thendisplay.FontItalic=TrueElsedisplay.FontItalic=FalseEndIfEndSubPrivateSubUnderOn_Click()IfUnderOn.Value=1Thendisplay.FontUnderline=TrueElsedisplay.FontUnderline=FalseEndIfEndSubUnderOn_Click事件過(guò)程用來(lái)測(cè)試復(fù)選框UnderOn的Value屬性值是否為1,如果為1,則把文本框的Fontunderline屬性設(shè)置為T(mén)rue(加下劃線(xiàn)),否則設(shè)置為False(不加下劃線(xiàn))。ItalicOn_Click事件過(guò)程測(cè)試復(fù)選框Thruon的Value屬性值是否為1。如果為1,則把文本框的FonItalic屬性設(shè)置為T(mén)rue(斜體顯示),否則為False(正常字體)6.4.2應(yīng)用舉例【例6.8】用單選按鈕在文本框中顯示三種字體。在窗體上建立一個(gè)文本框和三個(gè)單選按鈕,設(shè)置屬性PrivateSubcourier_Click()Display.FontSize=18Display.FontName=“courier”EndSub

PrivateSubmodern_Click()Display.FontSize=20Display.FontName="modern"EndSubPrivateSubroman_Click()Display.FontSize=24Display.FontName="timesnewroman"EndSub6.5選擇控件—列表框和組合框

利用列表框,可以選擇所需要的項(xiàng)目組合框可以把一個(gè)文本框和列表框組合為單個(gè)控制窗口。在工具箱中,列表框和組合框的圖標(biāo)如圖:6.5.1列表框在列表框中可以有多個(gè)項(xiàng)目供選擇。1.屬性列表框所支持的標(biāo)準(zhǔn)屬性包括:Enabled、FontBold、FontItalic、FontName、Fontunderline、Height、Left、Top、Visible、Width。屬于列表框的特殊屬性:(1)Columns:確定列表框的列數(shù)0,單列顯示(默認(rèn))1,列表框呈多行多列顯示;大于1且小于列表框中的項(xiàng)目數(shù),則列表框呈單行多列顯示。6.5.1列表框(2)List:列出表項(xiàng)的內(nèi)容List屬性保存了列表框中所有值的數(shù)組,可以通過(guò)下標(biāo)訪(fǎng)問(wèn)數(shù)組的值(從0開(kāi)始),格式為:

s$=[列表框.]List(下標(biāo))例如:s$=List1.list(6)‘列出List1第七項(xiàng)的內(nèi)容改變數(shù)組中已有的值,格式為:[列表框.]List(下標(biāo))=s$例如:List1.list(3)=“AAAAAAAA”把List1第四項(xiàng)的內(nèi)容設(shè)置為“AAAAAAAA”。6.5.1列表框(3)Listcount:列表框中表項(xiàng)的數(shù)量例如:執(zhí)行x=List1.Listcountx的值為列表框List1中的總項(xiàng)數(shù)。(4)ListIndex:已選中的表項(xiàng)的位置表項(xiàng)位置由索引值指定,第一項(xiàng)的索引值為0,第二項(xiàng)為1,依次類(lèi)推。如果沒(méi)有選中任何項(xiàng),ListIndex的值設(shè)置為-1。在程序中設(shè)置ListIndex后,被選中的條目反相顯示。6.5.1列表框(5)Multiselect:設(shè)置一次可以選擇的表項(xiàng)數(shù)是否可以在列表框中選擇多個(gè)表項(xiàng):0-None每次只能選擇一項(xiàng)1–Simple可以同時(shí)選擇多個(gè)項(xiàng),2–Extended選擇指定范圍內(nèi)的表項(xiàng)。方法是:?jiǎn)螕羲x擇范圍的第一項(xiàng),按住Shift鍵,并單擊所要選擇范圍的最后一項(xiàng)。按住Ctrl鍵,單擊列表框中的項(xiàng)目,可選擇不連續(xù)的多個(gè)表項(xiàng)。若選擇多個(gè)表項(xiàng),ListIndex和Text的屬性只表示最后一次的選擇值。為確定所選擇的表項(xiàng),檢查Selected屬性的每個(gè)元素。6.5.1列表框(6)Selected該屬性實(shí)際上是一個(gè)數(shù)組,每個(gè)元素與列表框中的一項(xiàng)相對(duì)應(yīng)。值為T(mén)rue,選擇了該項(xiàng);為False則表示未選擇。

列表框.Selected(索引值)“索引值”是數(shù)組的下標(biāo),從0開(kāi)始。(7)SelCount:讀取列表框中所選項(xiàng)的數(shù)目MultiSelect屬性設(shè)置為1(Simple)或2(Extended)可用。通常它與Selected一起使用,以處理控件中的所選項(xiàng)目。6.5.1列表框(8)Sorted:是否按字母數(shù)字升序排列Sorted屬性為T(mén)rue,則按字母數(shù)字升序排列。設(shè)置為False(默認(rèn)),則表項(xiàng)按加入次序排列。(9)Style:確定控件外觀(guān)取值設(shè)為0(標(biāo)準(zhǔn)形式)和1(復(fù)選框形式)。(10)Text:最后一次選中表項(xiàng)的文本不能直接修改Text屬性。2.列表框事件列表框接收Click和DblClick事件。

6.5.1列表框3.列表框方法(1)AddItem:在列表框中插入一行文本格式:

列表框.AddItem項(xiàng)目字符串[,索引值]省略“索引值”,則文本被放在列表框的尾部。可以用“索引值”指定插入項(xiàng)的位置,表中的項(xiàng)目從0開(kāi)始計(jì)數(shù),只能單個(gè)地向表中添加項(xiàng)目。(2)Clear:清除列表框中的全部?jī)?nèi)容格式:

列表框.Clear執(zhí)行Clear方法后,ListCount重新被設(shè)置為0。6.5.1列表框(3)RemoveItem:刪除列表框中指定的項(xiàng)目格式為:

列表框.RemoveItem索引值每次只能刪除一個(gè)項(xiàng)目。設(shè)窗體上有列表框List1和兩個(gè)命令按鈕Command1、Command2,下面的過(guò)程:SubCommand1_click()List1.AddItem“Test”,0EndSubSubCommand2_click()List1.RemoveItem,0EndSub6.5.1列表框【6.10】交換兩個(gè)列表框中的項(xiàng)目。其中一個(gè)列表框中的項(xiàng)目按字母升序排列,另一個(gè)列表框中的項(xiàng)目按加入的先后順序排列。當(dāng)雙擊某個(gè)項(xiàng)目時(shí),該項(xiàng)目從本列表框中消失,出現(xiàn)在另一個(gè)列表框中。在窗體上建立名稱(chēng)分別為L(zhǎng)ist1和List2的列表框,其,List2的Sorted屬性設(shè)置為T(mén)rue,List1的Sorted屬性使用默認(rèn)值False。6.5.1列表框PrivateSubForm_Load()List1.FontSize=14List2.FontSize=14List1.AddItem"IBM"List1.AddItem"Compaq"List1.AddItem"HP"List1.AddItem"FUJI"List1.AddItem"Digital"List1.AddItem"長(zhǎng)城"List1.AddItem"聯(lián)想"List1.AddItem"Canon"List1.AddItem"四通"List1.AddItem"Acer"List1.AddItem"Nec"List1.AddItem“NCR”EndSub

Form_Load過(guò)程用來(lái)初始化列表框,把每個(gè)項(xiàng)目加到列表框List1中,各個(gè)項(xiàng)目按加入的先后順序排列

6.5.1列表框PrivateSubList1_DblClick()List2.AddItemList1.TextList1.RemoveItemList1.ListIndexEndSub

PrivateSubList2_DblClick()List1.AddItemList2.TextList2.RemoveItemList2.ListIndexEndSub雙擊List1的某一項(xiàng),該項(xiàng)即被刪除并被放到List2中,List2中的項(xiàng)目按字母順序排列6.5.2組合框組合框(ComboBox)是組合列表框和文本框的特性而成的控件。1.組合框?qū)傩粤斜砜虻膶傩曰旧隙伎捎糜诮M合框。(1)Style:確定組合框三種不同的類(lèi)型①Style屬性為0:下拉式組合框(Dropdown

Combo)②Style屬性為1:簡(jiǎn)單組合框(SimpleCombo③Style屬性為2:下拉式列表框(DropdownListBox)

6.5.2組合框(2)Text:所選擇項(xiàng)目的文本或從編輯區(qū)輸入的文本。2.組合框事件組合框所響應(yīng)的事件依賴(lài)于其Style屬性。例如,只有簡(jiǎn)單組合框(Style=1)能接收DblClick事件,其他兩種可接收CLick和Dropdown事件。下拉式組合框(Style=0)和簡(jiǎn)單組合框,可以在編輯區(qū)輸入文本,輸入文本時(shí)接收Change事件。當(dāng)用戶(hù)單擊組合框中向下的箭頭時(shí),將觸發(fā)Dropdown事件

6.5.2組合框3.組合框方法列表框的AddItem、Clear和RemoveItem方法適用于組合框?!纠?.9】從屏幕上選擇微機(jī)的配置,并顯示出來(lái)微機(jī)的配置有很多種,這里只給機(jī)型、CPU主頻、內(nèi)存和硬盤(pán)容量??梢赃x擇所需配置,并輸出。6.5.2組合框SubForm_Load()Combo1.AddItem"IBM"Combo1.AddItem"Compaq"Combo1.AddItem"方正"Combo1.AddItem"聯(lián)想"Combo1.AddItem"HP"Combo1.AddItem"Acer"Combo1.AddItem"DEC"Combo2.AddItem"奔騰3900"Combo2.AddItem"奔騰3933"Combo2.AddItem"奔騰31.0G"Combo2.AddItem"奔騰41.2G"Combo2.AddItem"奔騰41.5G"Combo2.AddItem"奔騰41.7G"Combo2.AddItem“奔騰42.0G”Combo3.AddItem"64MB"Combo3.AddItem"128MB"Combo3.AddItem"256MB"Combo3.AddItem“512MB”Combo4.AddItem"10GB"Combo4.AddItem"20GB"Combo4.AddItem"32GB"Combo4.AddItem"40GB"Combo4.AddItem“60GB”EndSubSubCommand1_Click()Debug.Print"所選擇的配置為:"Debug.Print"機(jī)型:";Combo1Debug.Print"CPU:";Combo2Debug.Print"內(nèi)存:";Combo3Debug.Print"硬盤(pán):";Combo4EndSub

SubCommand2_Click()EndEndSub

6.5.2組合框在上面的程序中,4個(gè)組合框分為三種不同的類(lèi)型(Style屬性分別為1、2、2、0),選擇項(xiàng)目的方式不一樣。用鼠標(biāo)在4個(gè)組合框中分別選擇所需要的配置,然后單擊“確定”按鈕,即可在“立即”窗口中輸出所選擇的結(jié)果。單擊“取消”按鈕(或按Esc鍵)將結(jié)束程序運(yùn)行。6.5.2組合框注意:當(dāng)Style屬性值為1時(shí),組合框應(yīng)畫(huà)得大一些。為了畫(huà)出足夠大的組合框,可以按以下步驟操作:(1)在適當(dāng)?shù)奈恢卯?huà)出組合框(大小任意)。(2)在屬性窗口中把該組合框的Style屬性值設(shè)置為1。(3)按所需要的大小放大組合框。6.6滾動(dòng)條滾動(dòng)條通常用來(lái)附在窗口上幫助觀(guān)察數(shù)據(jù)或確定位置,也可用來(lái)作為數(shù)據(jù)輸入的工具。滾動(dòng)條分為兩種,即水平滾動(dòng)條和垂直滾動(dòng)條。工具箱中,水平滾動(dòng)條和垂直滾動(dòng)條的圖標(biāo)如圖除方向不同外,水平滾動(dòng)條和垂直滾動(dòng)條的結(jié)構(gòu)和操作是一樣的。滾動(dòng)條的兩端各有一個(gè)滾動(dòng)箭頭,在滾動(dòng)箭頭之間有一個(gè)滾動(dòng)框6.6滾動(dòng)條1.滾動(dòng)條屬性垂直滾動(dòng)條值由上往下遞增,最上端對(duì)應(yīng)最小值水平滾動(dòng)條值從左向右遞增,最左端代表最小值滾動(dòng)條值以整數(shù)表示,范圍為-32768~32767。滾動(dòng)條的坐標(biāo)系與它當(dāng)前的尺寸大小無(wú)關(guān)。滾動(dòng)條的屬性用來(lái)標(biāo)識(shí)滾動(dòng)條的狀態(tài)。支持Enabled、Height、Left、Caption、Top、Visible、Width等標(biāo)準(zhǔn)屬性6.6滾動(dòng)條(1)Max:滾動(dòng)條所能表示的最大值(2)Min:滾動(dòng)條所能表示的最小值設(shè)置Max和Min屬性后,滾動(dòng)條被分為Max-Min個(gè)間隔。(3)LargeChange:?jiǎn)螕魸L動(dòng)條中滾動(dòng)框前面或后面的部位時(shí),Value增加或減小的增量值。(4)SmallChange:?jiǎn)螕魸L動(dòng)條兩端的箭頭時(shí),Value屬性增加或減小的增量值。(5)Value:滾動(dòng)框在滾動(dòng)條上的當(dāng)前位置。6.6滾動(dòng)條2.滾動(dòng)條事件與滾動(dòng)條有關(guān)的事件:Scroll和Change。Scroll事件:拖動(dòng)滾動(dòng)框時(shí)會(huì)觸發(fā)Scroll事件用于跟蹤滾動(dòng)條中的動(dòng)態(tài)變化,Change事件:改變滾動(dòng)框的位置后會(huì)觸發(fā)。Change事件則用來(lái)得到滾動(dòng)條的最后的值。6.6滾動(dòng)條【例6.10】按下列步驟操作,建立一個(gè)滾動(dòng)條。(1)在窗體上建立6個(gè)控件:4個(gè)標(biāo)簽、1個(gè)文本框、1個(gè)滾動(dòng)條(2)4個(gè)標(biāo)簽的Caption屬性分別設(shè)置為“速度”、“慢”、“快”和空白,文本框Name屬性為Display,滾動(dòng)條的Name屬性為Speedbar。第四個(gè)標(biāo)簽的BorderStyle屬性設(shè)置為1-Fixedsingle。

(3)把水平滾動(dòng)條的屬性設(shè)置為:

LargeChange10Max200Min0SmallChange2(4)事件過(guò)程:PrivateSubSpeedBar_Change()Display.Text=Str$(SpeedBar.Value)EndSub(5)輸入處理Scroll事件的過(guò)程:PrivateSubSpeedbar_Scroll()label4.Caption=“Moveingto”+Str$(speedbar.Value)EndSub6.6滾動(dòng)條程序運(yùn)行,單擊滾動(dòng)條兩端箭頭,值以2為單位變化單擊滾動(dòng)條的灰色區(qū)域,值以10為單位變化。如果用鼠標(biāo)拖動(dòng)滾動(dòng)框,則值不一定以2或10為單位變化。工具條的中斷按鈕,打開(kāi)“立即”窗口,輸入:

SpeedBar.Value=17然后執(zhí)行Run菜單中的Continue命令,即可看到滾動(dòng)框的位置變化。如果輸入:

SpeedBar.Max=100也可以看到滾動(dòng)框位置的變化。6.7計(jì)時(shí)器

利用系統(tǒng)內(nèi)部的計(jì)時(shí)器計(jì)時(shí),而且提供了定制時(shí)間間隔(Interval)的功能,可以由用戶(hù)自行設(shè)置每個(gè)計(jì)時(shí)器事件的時(shí)間間隔。所謂時(shí)間間隔,指的是各計(jì)時(shí)器事件之間的時(shí)間,它以毫秒(千分之一秒)為單位。在工具箱中,計(jì)時(shí)器的圖標(biāo)如圖。6.7計(jì)時(shí)器計(jì)時(shí)器的屬性Interval:設(shè)置計(jì)時(shí)器事件之間的間隔,以毫秒為單位,其取值范圍為0~65535毫秒,因此其最大時(shí)間間隔不能超過(guò)65秒。計(jì)時(shí)器支持Timer事件。對(duì)于一個(gè)含有計(jì)時(shí)器控件的窗體,每經(jīng)過(guò)一段由屬性Interval指定的時(shí)間間隔,就產(chǎn)生一個(gè)Timer事件。用Timer函數(shù)獲取系統(tǒng)時(shí)鐘的時(shí)間。建立數(shù)字計(jì)時(shí)器的操作步驟如下:(1)雙擊工具箱上的計(jì)時(shí)器圖標(biāo),窗體中部出現(xiàn)一個(gè)計(jì)時(shí)器控件。6.7計(jì)時(shí)器(2)在窗體上畫(huà)一個(gè)標(biāo)簽。6.7計(jì)時(shí)器(3)在程序代碼窗口中編寫(xiě)如下的過(guò)程:PrivateSubTimer1_Timer()Label1.FontName="TimesNewRoman"Label1.FontSize=36Label1.Caption=Time$EndSub運(yùn)行上述程序,屏幕上顯示數(shù)字計(jì)時(shí)器。設(shè)計(jì)時(shí)的計(jì)時(shí)器控件已經(jīng)消失。6.7計(jì)時(shí)器計(jì)時(shí)器的Enabled屬性默認(rèn)為T(mén)rue。Enabled屬性為False,則計(jì)時(shí)器停止顯示為了啟動(dòng)計(jì)時(shí)器,增加一個(gè)命令按鈕,單擊該按鈕重新設(shè)置計(jì)時(shí)器的Enabled屬性為T(mén)rue。例如:SubCommand1_Click()Timer1.Enabled=TrueEndSub如果把過(guò)程中的語(yǔ)句改為:Timer1.Enabled=NotTimer1.Enabled則可單擊Command1命令按鈕使計(jì)時(shí)器反復(fù)啟停。6.7計(jì)時(shí)器【例6.11】用計(jì)時(shí)器實(shí)現(xiàn)字體的放大。按指定的時(shí)間間隔放大字體。

在窗體上畫(huà)一個(gè)標(biāo)簽,大小和位置任意,再畫(huà)一個(gè)計(jì)時(shí)器:PrivateSubForm_Load()Label1.FontName="魏碑"Label1.Caption="字體"Label1.Width=WidthLabel1.Height=HeightTimer1.Interval=1000EndSub

在Form_Load事件過(guò)程中,把標(biāo)簽的高度和寬度設(shè)置為與窗體相同,把計(jì)時(shí)器的Interval屬性設(shè)置為1000,即每秒鐘變化一次。

6.7計(jì)時(shí)器PrivateSubTimer1_Timer()IfLabel1.FontSize<100ThenLabel1.FontSize=Label1.FontSize*1.2ElseLabel1.FontSize=10EndIfEndSub在計(jì)時(shí)器事件過(guò)程中,判斷標(biāo)簽的字體大小是否超過(guò)100,如果沒(méi)有超過(guò),則每隔1秒鐘字體擴(kuò)大1.2倍,否則把字體大小恢復(fù)為10。

6.8框架框架(Frame)是將屏幕上對(duì)象分組的容器控件。框架提供了視覺(jué)上的區(qū)分和總體的激活/屏蔽特性??蚣艿膶傩园ǎ篍nabled、FontBold、FontName、Fontunderline、Height、Left、Top、Visible、Width。Name屬性用于在程序代碼中標(biāo)識(shí)一個(gè)框架,而Caption屬性定義了框架的可見(jiàn)文字部分。在工具箱中,框架的圖標(biāo)如圖。6.8框架框架的Enabled屬性為T(mén)rue,則框架內(nèi)的對(duì)象是“活動(dòng)”的。若為False,則其標(biāo)題變灰,框架中所有對(duì)象均被屏蔽。使用框架的主要目的:對(duì)控件進(jìn)行分組必須先畫(huà)出框架,然后在框架內(nèi)畫(huà)出需要成為一組的控件,這樣才能使框架內(nèi)的控件成為一個(gè)整體,和框架一起移動(dòng)。6.8框架需要對(duì)窗體上(不是框架內(nèi))已有的控件進(jìn)行分組,并把它們放到一個(gè)框架中,操作步驟:(1)選擇需要分組的控件。(2)執(zhí)行“編輯”→“剪切”命令(3)在窗體上畫(huà)一個(gè)框架控件,并為活動(dòng)狀態(tài)。(4)執(zhí)行“編輯”→“粘貼”命令。即可把所選擇的控件放入框架,作為一個(gè)整體。為了選擇框架內(nèi)的控件,必須在框架處于非活動(dòng)狀態(tài)時(shí),按住Ctrl鍵,然后用鼠標(biāo)畫(huà)一個(gè)框,使這個(gè)框能“套住”要選擇的控件。6.8框架框架常用事件:Click和DblClick不接受用戶(hù)輸入,不能顯示文本和圖形,不能與圖形相連需要在同一個(gè)窗體上建立幾組相互獨(dú)立的單選按鈕時(shí),必須通過(guò)框架為單選按鈕分組,使得在一個(gè)框架內(nèi)的單選按鈕為一組,每個(gè)框架內(nèi)單選按鈕的操作不影響其他組的按鈕。【例6.12】編寫(xiě)程序,通過(guò)單選按鈕設(shè)置字體類(lèi)型和大小。

按以下步驟操作:

(1)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論