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

下載本文檔

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

文檔簡介

第4章窗體和常用控件24.1窗體的設計4.1.1窗體的屬性 4.1.2窗體的事件 4.1.3窗體的方法 4.1.4窗體的裝載、卸載和關閉34.1.1窗體的屬性

設置屬性有兩種方法:通過屬性窗口設置和在程序代碼中設置,大部分屬性既可以通過屬性窗口設置,也可以通過程序代碼設置,而有些屬性只能由程序代碼或屬性窗口設置。打開屬性窗口有三種方法:選擇“視圖”菜單“屬性窗口”菜單項。單擊F4鍵或工具欄的按鈕。在窗體的任意位置單擊鼠標右鍵,在快捷菜單中選擇“屬性窗口”。窗體的屬性有很多,按分類序可分為:雜項、外觀、位置、行為、字體、縮放和DDE。

(快講)44.1.1窗體的屬性常用的雜項屬性(1)名稱(Name)名稱用于設置窗體名稱,該名稱是在程序代碼中使用的。(2)MaxButton和MinButtonMaxButton和MinButton屬性用于設置窗體顯示時是否有最大化和最小化按鈕。(3)Icon屬性

Icon屬性用于設置窗體最小化時顯示的圖標。單擊按鈕,選擇一個合適的*.ico或*.cur圖形文件作為窗體最小化的圖標。(4)ControlBox屬性

ControlBox屬性用來設置窗口控制框的狀態(tài)。如果BorderStyle屬性設置為0-None,ControlBox屬性將不起作用。

54.1.1窗體的屬性2.常用的外觀屬性(Apperance)(1)CaptionCaption屬性用于設置窗體顯示的標題,默認時為窗體名稱即Form1,F(xiàn)orm2…。窗體和很多控件都有Caption屬性。語法:對象.Caption=字符串例如,在程序中設置Caption屬性:

Form1.Caption=“第一個窗體”

(2)AppearanceAppearance屬性設置窗體的外觀。缺省值為1-3D,表示以三維立體效果描繪出外觀,也可設置為0-Flat平面形式。(3)BackColor和ForeColorBackColor和ForeColor屬性用于設置對象中文本和圖形的背景色和前景色,默認為“按鈕表面”顏色。64.1.1窗體的屬性設置BackColor選項卡所顯示的“調色板”和“系統(tǒng)”顏色。(4)PicturePicture屬性設置在窗體中顯示的圖片。選擇一個合適的圖形文件,可以選擇*.jpg、*.gif、*.bmp、*.ico等格式圖形文件。74.1.1窗體的屬性(5)BorderStyleBorderStyle屬性用于設置窗體的邊框風格。BorderStyle屬性的設置值。設定值常量定義0None沒有邊框1FixedSingle有固定單邊框,運行時窗體大小不能變,可以包含控制框、標題欄,“最大化”和“最小化”按鈕。2Sizable有可調整的雙邊框。(默認)3FixedDialog固定對話框,運行時窗口大小不能變,可以包含控制框和標題欄。4FixedToolWindow固定工具窗口,大小不能改變,顯示關閉按鈕。5SizableToolWindow可變大小工具窗口,顯示關閉按鈕。84.1.1窗體的屬性3.常用的位置屬性(Position)(1)Left和TopLeft和Top屬性用于設置窗體的左上角在屏幕的橫、縱坐標,即窗體在屏幕上的位置。(2)Width和HeightWidth和Height屬性用于設置窗體的初始寬度和高度,即窗體的大小。位置屬性在第8章中詳細地介紹。4.常用的行為屬性(Behavior)(1)VisibleVisible屬性用于設置窗體可見(True)或隱藏(False)。94.1.1窗體的屬性(2)AutoRedrawAutoRedraw屬性用于設置窗體顯示的信息是否重畫。當設置為True,在運行時調整窗體大小或被另一對象遮住后重新顯現(xiàn)時窗體會自動重畫,默認為False。(3)EnabledEnabled屬性用來設置窗體或控件是否響應用戶生成的事件。Enabled屬性也可以通過程序代碼來設置。窗體的Enabled屬性默認為True。104.1.1窗體的屬性5.字體屬性(Font)字體屬性中只有Font屬性用于字體、樣式、大小和效果等,單擊按鈕出現(xiàn)字體對話框,可以選擇字體、大小等。

Font屬性其實是一個屬性組合,包含了字體、大小、字體樣式等屬性成員,如果要在程序運行時改變這些屬性值,則必須對各個屬性成員分別進行設置。114.1.2窗體的事件1.Load事件

Load事件是當裝載窗體時觸發(fā)的。例如,在窗體的Load事件中設置窗體和標簽的屬性:PrivateSubForm_Load()'裝載窗體

Move100,100,5000,3000Caption="第一個窗體"Label1.Caption="你好!"EndSub注意:將變量的初始化代碼或控件的默認值放在其中。

Load事件是在窗體顯示之前就運行,因此要在窗體上顯示的動作則不起作用。如在Load事件中用Print方法顯示文本則不起作用。124.1.2窗體的事件2.UnLoad事件

UnLoad事件是當卸載窗體時觸發(fā),當單擊窗體上的“關閉”按鈕或使用UnLoad語句時也可以觸發(fā)該事件。

Unload事件過程可以用來當窗體被卸載時確認窗體是否應被卸載,或者指定卸載后要發(fā)生的操作。

UnLoad事件的參數(shù)Cancel是一個整型數(shù)據(jù),用來確定窗體是否從屏幕刪除。如果

cancel為

0,則窗體被刪除。將

cancel設置為任何一個非零的值可防止窗體被刪除。3.Click事件

Click事件是當鼠標單擊窗體時觸發(fā)。在前面幾章中Form的Click事件都已使用過。

134.1.2窗體的事件4.Resize事件

Resize事件是當調整窗體的大小時觸發(fā)。Resize事件過程一般用來當窗體改變大小時,調整窗體中控件的位置或調整其大小。5.Activate和DeActivate事件

Activate事件是當一個窗體變成活動窗體時觸發(fā)的。

DeActivate事件是當另一個窗體或應用程序被激活,窗體不再是活動窗口時觸發(fā)的。6.Initialize事件

Initialize事件是當窗體第一次創(chuàng)建時觸發(fā),一般將窗體的初始化代碼放在其中。

Initialize事件是窗體創(chuàng)建狀態(tài)開始的標志,在Load事件之前觸發(fā)的。144.1.2窗體的事件【例4-1】使用窗體查看窗體事件的觸發(fā)時刻。PrivateSubForm_Activate()'激活窗體

MsgBox"正在激活窗體"EndSub

PrivateSubForm_Click()'單擊窗體

MsgBox"正在單擊窗體"EndSub

PrivateSubForm_Initialize()'初始化窗體

MsgBox"正在初始化窗體"EndSub

PrivateSubForm_Load()'裝載窗體

MsgBox"正在裝載窗體"EndSub(快講)154.1.3窗體的方法1.Show方法調用Show方法與設置窗體Visible屬性為True具有相同的效果。語法:對象.show[風格n]2.Hide方法Hide方法用于隱藏窗體,使窗體不可見,但未從內存中清除。3.Move方法

Move方法用于移動窗體或控件。Move方法可以將窗體向水平、垂直方向移動,也可以改變窗體的寬度和高度。說明:left、top、width、height為Single型,單位是緹。參數(shù)top、width、height可以省略。要指定其它的參數(shù),必須先指定該參數(shù)前面的全部參數(shù)。left和top是指窗體的左上角離屏幕左上角的距離,width和height是窗體的寬度和高度。164.1.4窗體的裝載、卸載和關閉

1.裝載窗體語句裝載窗體語句是把窗體(或其他對象)裝入內存。語法:

Load對象當裝載窗體時,先把窗體屬性設置為屬性窗口中設置的初始值,再執(zhí)行Load事件。2.卸載窗體語句卸載窗體語句是把窗體或其他對象從內存中卸載。語法:

Unload對象窗體在卸載前將觸發(fā)對象的Unload事件。如果卸載的對象是程序唯一的窗體,則將終止程序的執(zhí)行。174.1.4窗體的裝載、卸載和關閉例如:UnloadMe注意:

Me是系統(tǒng)保留字,表示當前窗體。

Load、Unload事件與Load、Unload方法的區(qū)別是在系統(tǒng)裝載和卸載窗體時自動觸發(fā)事件,Load、Unload方法會觸發(fā)Load、Unload事件。3.End語句

End語句用于在程序代碼中結束應用程序的運行。語法: EndEnd語句不顧現(xiàn)存窗體或對象的狀態(tài)而使應用程序立即結束。【例4-2】設計一個窗體,測試其屬性、方法和事件。界面設計:窗體放置一個標簽label1和命令按鈕Command1。184.1.4窗體的裝載、卸載和關閉窗體和標簽的屬性設置如表所示。對象控件名屬性名屬性值FormForm1Caption學生管理MinButtonFalseBackColor&H00C0FFC0&(淺綠色)ForeColor&H0000FFFF&(黃色)程序代碼如下:PrivateSubForm_Load()

'裝載窗體

AutoRedraw=TrueCommand1.Caption="退出"Label1.Caption="歡迎使用學生信息管理系統(tǒng)"EndSub

PrivateSubForm_Click()'單擊窗體

Move1000,1000Print"移動窗體到(1000,1000)位置"EndSub

194.1.4窗體的裝載、卸載和關閉PrivateSubForm_Resize()'調整窗體大小

Label1.Move100‘將標簽放置在窗體100的位置EndSubPrivateSubCommand1_Click()'單擊按鈕

EndEndSub204.1.4窗體的裝載、卸載和關閉PrivateSubForm_Unload(CancelAsInteger)'卸載窗體

DimAnswerAsIntegerLabel1.Caption="再見!"Answer=MsgBox("正在卸載窗體,是否確定?",vbOKCancel,"卸載窗體")IfAnswer=1ThenCancel=0ElseCancel=1EndIfEndSub214.1.4窗體的裝載、卸載和關閉窗體的運行界面如圖所示,卸載窗體的運行界面如圖所示。程序分析:裝載窗體時觸發(fā)Load和Resize事件,標簽顯示“歡迎使用學生信息管理系統(tǒng)",并移動標簽。當單擊窗體時觸發(fā)Click事件,移動窗體并用Print方法顯示文本。當單擊最大化按鈕時觸發(fā)Resize事件,移動標簽。當單擊關閉按鈕時觸發(fā)Unload事件,標簽顯示“再見!”當單擊按鈕Command1時,立即結束程序,關閉窗口。224.2控件介紹4.2.1控件的分類 4.2.2控件的通用特性 4.2.3使用With結構 4.2.4編輯器設置 4.2.5對象瀏覽器 234.2.1控件的分類VB的控件分為內部控件、ActiveX控件和可插入對象。1.內部控件

部控件是由VB本身提供的控件,也稱為常用控件,內部控件是在控件箱中默認出現(xiàn)的控件,不能從控件箱中刪除。(快講)244.2.1控件的分類2.ActiveX控件

ActiveX控件是VB控件箱的擴充部分,是擴展名為.ocx的文件。包括各種版本和僅在專業(yè)版和企業(yè)版中提供的控件,還包括許多第三方軟件廠商提供的ActiveX控件。

ActiveX控件在使用之前必須添加到控件箱中,添加步驟如下:(1)用鼠標右鍵單擊控件箱,出現(xiàn)快捷菜單。254.2.1控件的分類(2)選擇快捷菜單的“部件”菜單項,就會出現(xiàn)部件選項卡。(3)在“控件”選項卡中單擊控件復選框來選擇需要添加的ActiveX控件。(4)單擊“確定”按鈕,在窗體的控件箱中就出現(xiàn)了添加的控件,然后就把它拖到窗體中任一位置。264.2.1控件的分類3.可插入對象插入對象是由其他應用程序創(chuàng)建的對象,利用可插入對象就可以在VB應用程序中使用其他應用程序的對象。274.2.2控件的通用特性1.名稱(Name)屬性每個控件都有名稱屬性,用于設置控件的名字。創(chuàng)建控件時,新對象的默認名字由對象類型加上一個唯一的整數(shù)組成。2.控件的值屬性所有的控件都有一個與控件值有關的屬性,稱為值屬性或默認屬性。例如,TextBox控件的Text屬性,Label控件的Caption屬性和PictureBox控件的Picture屬性都是值屬性。284.2.2控件的通用特性3.焦點(focus)在界面上窗體以及窗體上的控件有很多,也只能有一個對象能夠接受鍵盤的操作,則稱為具有焦點,而其他不能接受鍵盤輸入的對象稱為不具有焦點。(1)接受焦點的控件一個對象Enabled和Visible屬性均為True時,才能接收焦點??蚣?Frame)、標簽(Label)、菜單(Menu)、直線(Line)、形狀(Shape)、圖像框(Image)和定時器(Timer)控件都不能接受焦點。294.2.2控件的通用特性(2)將焦點賦給對象下列方法可以將焦點賦給對象:運行時用鼠標選擇對象。運行時用快捷鍵選擇對象。運行時按Tab鍵將焦點移到對象上。在代碼中用SetFocus方法。(3)焦點事件與焦點有關的事件有:GotFocus事件:當對象具有焦點時,會產生GotFocus事件。LostFocus事件:對象失去焦點時,將產生LostFocus事件,是在焦點移走后觸發(fā)的。304.2.2控件的通用特性(4)焦點屬性與焦點有關的屬性有:

TabIndex屬性:對象的TabIndex屬性決定了它在Tab鍵中的順序,從0開始。第一個建立的控件其TabIndex值為0,第二個的TabIndex值為1,依此類推。

TabStop屬性:TabStop屬性是指定焦點是否在對象上停留,默認為True,將控件的TabStop屬性設為False,則在用Tab鍵移動焦點時就會跳過該控件,仍保持其在TabIndex中的順序。314.2.2控件的通用特性

查看各控件的TabIndex屬性分別為0~3,標簽Label1沒有TabStop屬性,其余三個控件的TabStop屬性都為True?!纠?-3】在窗體上依次建立了4個控件,一個標簽Label1,一個文本框Text1和兩個按鈕Command1、Command2。324.2.2控件的通用特性程序代碼如下:PrivateSubText1_GotFocus()'獲得焦點

MsgBox"獲得焦點"EndSub

PrivateSubText1_LostFocus()'失去焦點

MsgBox"失去焦點"EndSub

啟動工程時,光標位于Text1中,出現(xiàn)消息框顯示“獲得焦點”。每按一次Tab鍵,焦點依次向后移動,順序為Text1Command1Command2Text1。334.2.2控件的通用特性4.訪問鍵命令按鈕(CommandButton)、復選框(CheckBox)和選項按鈕(OptionButton)都可以有訪問鍵。訪問鍵的設置是在控件的Caption屬性中用“&”字符加在訪問字符的前面。例如,設置按鈕的“Caption”屬性為“關閉(&c)”,若按鈕的“Caption”屬性為“&Close”則顯示如圖所示。344.2.2控件的通用特性5.容器窗體(Form)、框架(Frame)和圖片框(PictureBox)等都可以作為其他控件的容器。例如,在窗體中的文本框的Left和Top屬性值是指文本框在窗體中的位置,而窗體的Left和Top屬性值是指窗體在屏幕的位置。354.2.3使用With結構With結構用于對一個對象執(zhí)行一系列的語句時,可以不用重復寫該對象的名稱。語法:

With對象 語句塊

EndWithWith和EndWith必須配對。當程序一旦進入With塊,對象就不能改變,但With塊可以嵌套。364.2.3使用With結構

例如,要改變文本框Text1的多個屬性,在With結構中進行屬性的賦值如下:

WithText1.Left=2000.Width=2000.Text="你好!"EndWith374.2.4編輯器設置

選擇“工具”(Tools)菜單中的“選項”菜單項,就會出現(xiàn)“編輯器”選項卡,如圖所示。(自學)384.2.4編輯器設置自動語法檢測:決定當鍵入一行代碼后,VB是否自動校驗語法的正確性。要求變量聲明:決定模塊中是否需要明確的變量說明。將“OptionExplicit”語句添加到任何新模塊聲明中去。自動列出成員:決定是否列出相應對象的屬性等信息。394.2.4編輯器設置自動快速信息:決定是否顯示關于函數(shù)及其參數(shù)的信息。自動數(shù)據(jù)提示:當調試在中斷時,光標停留在代碼編輯窗口的變量或對象上是否顯示該變量的值或對象的屬性。自動縮進:對前一行代碼移動制表符,回車后所有后續(xù)行都將以該制表符為起點。Tab寬度:設置制表符寬度,其范圍可以從1~32個空格;缺省值是

4個空格。404.2.5對象瀏覽器

顯示出對象庫以及工程里過程中的可用類、屬性、方法、事件和常數(shù)變量。工程/庫框搜索文本框成員列表類列表詳細信息

選擇“視圖”菜單“對象瀏覽器”菜單項,或者單擊工具欄中的按鈕打開對象瀏覽器,如圖所示。(自學)414.2.5對象瀏覽器對象瀏覽器右側成員列表中有幾種圖標:對象的事件。對象的方法。對象的屬性。步驟:在“工程/庫”框中選擇各種庫或工程。在“搜索文本框”中輸入要搜索的對象或類。單擊搜索按鈕,就會出現(xiàn)搜索結果。424.3內部控件4.3.1標簽、文本框和命令按鈕4.3.2框架、選項按鈕和復選框 4.3.3列表框和組合框 4.3.4圖像框和圖片框 4.3.5滾動條和定時器 4.3.6文件系統(tǒng)控件434.3.1標簽、文本框和命令按鈕

1.標簽(Label)標簽控件用于顯示不能編輯的文本信息,在運行時不能由用戶輸入,一般用于在窗體上進行文字說明。(1)常用屬性屬性定義Caption標簽中顯示的內容,最多可有1024個字符。Alignment標簽中文本的對齊方式:0(LeftJustify)左對齊(默認)1(RightJustify)右對齊2(Center)居中AutoSize是否可自適應大?。篢rue可根據(jù)文本自動調整標簽大小。False標簽大小不能改變,超長文本被截去(默認)BorderStyle用于設置邊界形式:0(None)為無邊界(默認)1(FixedSingle)含有寬度為1的單線邊界444.3.1標簽、文本框和命令按鈕

為六個標簽排成三行兩列,每行標簽的Alignment屬性分別為0、1、2,每列標簽的BorderStyle屬性分別為0、1。(2)事件和方法標簽的事件和方法很多,但是由于它一般用于注釋說明,所以很少使用事件。

454.3.1標簽、文本框和命令按鈕2.文本框(TextBox)文本框用于接受用戶輸入的信息或顯示系統(tǒng)提供的文本信息,用戶可以在文本框中編輯文本。(1)常用屬性

Text:文本框中顯示的內容,也可以在運行時由用戶輸入。

Alignment:文本框中文本的對齊方式(同標簽)。

MultiLine:設置是否可輸入多行文本。True為可輸入多行文本,默認False只能輸入一行文本。MultiLine是只讀屬性。

ScrollBars:設置是否含滾動條。

0(None)為不含滾動條(默認)

1(Horizontal)為含水平滾動條

2(Vertical)為含垂直滾動條

3(Both)為含水平和垂直滾動條464.3.1標簽、文本框和命令按鈕Locked:設置用戶是否能編輯文本框中的文本。True為鎖定指不能編輯文本框中的文本,默認為False指可以編輯文本。

MaxLength:設置運行時可以輸入的最大字符數(shù),為整型數(shù)值。

PasswordChar:用于設置文本框中輸入字符的顯示,即是否為口令框,默認值為空字符顯示輸入的文本,如果為非空字符(如*),則每輸入一個字符就在文本框中顯示一個該字符,但Text屬性接受的仍然是文本。【例4-4】創(chuàng)建一個用戶登錄界面,輸入用戶名和口令,判斷是否是合法用戶。界面設計:由兩個標簽(Label1、Label2)、兩個文本框(Text1、Text2)和一個按鈕Command1組成。474.3.1標簽、文本框和命令按鈕控件的屬性設置如表所示。則運行界面如圖所示。對象名屬性名屬性值Form1Caption登錄Label1Caption用戶名:Label2Caption口令:Text1Text空Text2Text空PasswordChar*Command1Caption確定

功能要求:正確的用戶名和密碼是在Text1中輸入“Guest”和在Text2中輸入“888888”。484.3.1標簽、文本框和命令按鈕程序代碼如下:PrivateSubCommand1_Click()'單擊確定按鈕

IfText1="Guest"AndText2="888888"ThenMsgBox"歡迎使用本系統(tǒng)!",vbOKOnly,"輸入"ElseMsgBox"對不起,你不是本系統(tǒng)用戶!",

vbOKOnly,"輸入"EndIfEndSub程序分析:“Text1="Guest"”使用了文本框的值屬性。494.3.1標簽、文本框和命令按鈕(2)方法SetFocus方法:設置焦點,將焦點強制設置到文本框上。Refresh方法:用于刷新文本框的內容。(3)事件

Change事件:當文本框內容發(fā)生變化時觸發(fā),可以用來同步各控件的數(shù)據(jù)。

GotFocus事件:當文本框獲得焦點時觸發(fā)。

LostFocus事件:當文本框失去焦點時觸發(fā),可以用來檢查文本框輸入內容的合法性。504.3.1標簽、文本框和命令按鈕3.命令按鈕(Command)(1)常用屬性

Caption屬性:用設置命令按鈕的顯示文字。最長255個字符,如按鈕的大小無法顯示過多字符,字符會被截去。

Style屬性:用于設置按鈕的外觀是標準按鈕還是圖形按鈕。默認為0(Standard)表示標準按鈕,1(Graphical)為自定義圖片的圖形按鈕,然后需要設置Picture屬性的圖形。

Default屬性:設置該按鈕是否為默認按鈕。True是默認按鈕,則按回車鍵就相當于單擊此按鈕。默認為False表示不是默認按鈕。514.3.1標簽、文本框和命令按鈕Cancel屬性:設置該按鈕是否為取消按鈕。True是取消按鈕,按Esc鍵就相當于單擊此按鈕,默認為False表示不是取消按鈕。

Value屬性:設置按鈕是否被單擊,默認為False沒有被單擊,設置為True表示單擊該按鈕并觸發(fā)Click事件。設計時不可用。命令按鈕的值屬性(默認屬性)。(2)方法按鈕控件的常用方法有SetFocus。524.3.1標簽、文本框和命令按鈕(3)事件按鈕控件最基本的事件是Click,以下情況都可產生Click事件:在按鈕上單擊鼠標。焦點在按鈕上時按空格鍵或回車鍵。在代碼中將按鈕的Value屬性設置為True。對于默認按鈕按回車鍵,對于取消按鈕按Esc鍵。在Caption屬性中用&符號連接一訪問鍵,在運行時按“Alt+訪問鍵”。例4-5(P97)534.3.2框架、選項按鈕和復選框

1.框架控件(Frame)框架控件的作用是將其他控件組合在一起,當作其他控件的容器??蚣芸丶话阌糜趯⒋绑w中的許多控件按功能分成若干組,當框架移動時,其中的控件也跟著移動。(1)常用屬性Caption屬性:框架的標題名稱,可以包含訪問鍵。默認為Frame1,F(xiàn)rame2……,當設置為空時,框架就顯示為閉合的框。Enabled屬性:是否為活動狀態(tài)。默認True表示活動狀態(tài);False為非活動狀態(tài),框架內所有控件都不能使用,標題顯示為灰色。(2)常用事件框架控件的主要事件是Click。

544.3.2框架、選項按鈕和復選框2.選項按鈕(OptionButton)選項按鈕用于從一組選項按鈕中選取其一,又稱為單選按鈕。用Frame框架將選項按鈕分組,一組選項按鈕是相關而且互斥的。(1)常用屬性Value屬性:設置選項按鈕的選中狀態(tài)。默認為False表示未被選中;True表示被選中,則其他選項的Value屬性自動為False。Enabled屬性:設置選項按鈕是否有效。默認為True表示有效;False為無效則選項按鈕禁止使用,顯示為灰色。Style屬性:設置單選按鈕的樣式,默認為0表示標準樣式,1為圖形樣式。Picture屬性:設置單選按鈕要顯示的圖形。該屬性只有在Style屬性值為1時有效。554.3.2框架、選項按鈕和復選框3.復選框(CheckBox)復選框與選項按鈕不同,可以從一組復選框中同時選中多個選項。(1)常用屬性

Value屬性:設置選項按鈕的選中狀態(tài)。默認為0(Unchecked)表示未被選中;1(Checked)表示選中;2(Grayed)表示暫時不能訪問,顯示為灰色。

Alignment屬性:設置復選框在標題Caption的左邊還是右邊。默認為0(LeftJustify)表示在標題的左邊;1(RightJustify)表示在標題的右邊。(2)常用事件復選框的主要事件也是Click。例4-6(P99)564.3.3列表框和組合框列表框(ListBox)列表框用于列出可供用戶選擇的項目列表,用戶可以從中選擇一個或多個列表項。(1)常用屬性屬性定義List用于訪問列表框的所有列表項,是一個字符數(shù)組,列表項只能添加到列表框的末尾。ItemData用于為列表框的每個列表項設置一個對應的數(shù)值,數(shù)組大小與列表項的個數(shù)一致,通常用于作為列表項的索引或標識。Columns設置列表項按幾列顯示,出現(xiàn)水平滾動條。ListCount用于返回在列表框中的列表項數(shù),只能在運行時使用。ListIndex當前選中的列表項索引,只能在運行時使用。-1為當前沒有選擇項目n為當前選擇項目的索引,從0開始Sorted設置列表框中的各列表項在運行時是否自動排序。True為自動排序False(默認)為不排序,按列表項的原始先后順序顯示Text用于得到當前列表項的內容。MultiSelect用于設置是否允許同時選擇多個列表項。574.3.3列表框和組合框(2)常用事件列表框的主要事件有Click(單擊)和DblClick(雙擊)。(3)常用方法列表框控件常用的方法有AddItem、Clear、RemoveItem方法。

AddItem方法用于在程序代碼中添加列表項。語法:

[對象].AddItem列表項[,索引]例如,在籍貫省份列表框List1的第三個位置后插入“遼寧省”:

List1.AddItem"遼寧省",3程序分析:有索引時,則在索引指定的位置插入,索引是從0開始的;省略索引時,在列表框的最后插入新列表項。584.3.3列表框和組合框RemoveItem方法:

RemoveItem方法用于刪除指定的列表項。語法:

[對象].RemoveItem索引例如,在籍貫省份列表框List1中刪除索引為3的列表項:

List1.RemoveItem3Clear方法:用于刪除所有列表項。

[對象].Clear

例4-7(P102)594.3.3列表框和組合框2.組合框(ComboBox)組合框是文本框和列表框的組合。它兼有列表框和文本框的功能,用戶既可以從文本框輸入和修改文本,也可以從列表框中選擇下拉的列表項。(1)常用屬性:style屬性0(默認)為下拉組合框,由一個文本框和一個下拉列表框組成,用戶既可以在文本框中輸入也可單擊列表框來選擇列表項,當組合框獲得焦點時,按Alt+↓鍵來打開列表框。1.為簡單組合框,由一個文本框和一個標準列表框組成,列表框下拉項是一直顯示在屏幕上,列表框可以有垂直滾動條。2.為下拉列表框,不允許用戶輸入文本,只能從下拉列表框選擇。Text屬性為只讀屬性不能設置。604.3.3列表框和組合框

組合框用來輸入系別,Style屬性分別設置為0,1和2時運行時的顯示。

組合框的常用屬性中Text、List、ListIndex、ListCount、Sorted等與列表框(ListBox)相同。(2)常用事件和方法組合框的事件和方法與列表框基本相似。 例4-8(P105)614.3.4圖像框和圖片框

圖像框(Image)和圖片框(PictureBox)都是用于顯示圖形,可以顯示.bmp、.ico、.wmf、.jpg、.gif等圖形文件。圖像框主要用于顯示靜態(tài)的圖像。圖片框不僅可以顯示圖像,還可以作為其他控件的容器,也可以用Print語句顯示文本或用繪圖方法在圖片框繪圖,甚至可以顯示簡單的動畫。1.Picture屬性

Picture屬性用于設置在圖像框和圖片框中要顯示的圖像文件名。在設計時,單擊Picture屬性的按鈕,選擇各種圖形文件;在運行時調用LoadPicture函數(shù)來設置。例如:Picture1.Picture=LoadPicture("c:\Windows\Ciban.bmp")624.3.4圖像框和圖片框2.圖片框的Align屬性Align屬性用于設置圖片框在窗體中的顯示方式:0(默認)為無特殊顯示;1為與窗體一樣寬,位于窗體頂端;2為與窗體一樣寬,位于窗體底端;3與窗體一樣高,位于窗體左端;4為與窗體一樣高,位于窗體右端。3.圖片框的AutoSize屬性圖片框PictureBox的AutoSize屬性用于確定圖片框如何與圖像相適應:False(默認)為保持原始尺寸,當圖形比圖片框大時,超出的部分被截去。True為圖片框根據(jù)圖形大小自動調整。634.3.4圖像框和圖片框4.圖像框的Stretch屬性圖像框Image的Stretch屬性用于確定圖像框如何與圖像相適應:False(默認)為圖像框將適應圖像的大小。True為圖像將適應圖像框的大小,可能使圖像變形;如圖是Image控件的Stretch屬性不同時的顯示,設計時左右的圖像框大小相同。左邊的圖像框Stretch屬性為False,圖像框隨圖像大小發(fā)生變化;右邊的圖像框Stretch屬性為True,圖像大小隨圖像框發(fā)生變化。644.3.5滾動條和定時器1.滾動條滾動條控件包括水平滾動條(HscrollBar)和垂直滾動條(VscrollBar),水平滾動條和垂直滾動條都是用于滾動內容,方向不同但動作相同。滾動條一般是放置在窗體的邊緣,用來提供滾動窗口的功能。滾動條也是一種很好的“模糊”輸入裝置,當用戶不需要輸入精確數(shù)據(jù)時,使用滾動條控件可以給出一個大概的范圍,而且還可以清楚地看到當前顯示內容占總內容的比例。654.3.5滾動條和定時器(1)常用屬性垂直滾動條的值從上向下遞增,最上端代表最小值(Min),最下端代表最大值(Max)。水平滾動條的值從左向右遞增,最左端代表最小值,最右端代表最大值。664.3.5滾動條和定時器(2)事件Scroll:拖動滾動框時觸發(fā),用于跟蹤滾動條的動態(tài)變化。Change:單擊滾動條或滾動箭頭以及釋放滾動框時觸發(fā)??梢杂脕淼玫綕L動條的最終位置?!纠?-9】使用滾動條來改變文本框的背景色。(P108)674.3.5滾動條和定時器2、定時器 定時器用于間隔一定時間觸發(fā)事件,運行時它不可見??梢詫崿F(xiàn)簡單的動畫。(1)常用屬性定時器最重要的屬性是Interval,用于設置定時器事件之間的時間間隔,單位為毫秒,取值在0~65767之間。如果設置為0,則表示定時器無效。(2)事件定時器只支持Timer事件,當達到Interval屬性規(guī)定的時間間隔就觸發(fā)該事件。684.3.5滾動條和定時器【例4-10】使用定時器實現(xiàn)標簽文字的動畫顯示。功能要求:使用一個標簽(Label1)顯示文字,使用一個定時器Timer1,每隔0.1秒右移標簽產生動畫效果。屬性設置如表所示。對象名屬性名屬性值Form1Caption動畫顯示文字Label1Caption歡迎使用學生信息管理系統(tǒng)Font小二、粗體Timer1Interval100EnabledFalseCommand1Caption開始694.3.5滾動條和定時器程序代碼如下:PrivateSubCommand1_Click()'單擊按鈕開始顯示動畫文字

Timer1.Enabled=TrueEndSubPrivateSubTimer1_Timer()'移動標簽

If(Form1.Width-Label1.Left)>100Then'當超過窗體屏幕時

Label1.MoveLabel1.Left+100ElseLabel1.Move0EndIfEndSub運行界面如圖所示。程序分析:定時器Timer1的Interval設置為100毫秒即0.1秒。定時器運行時不可見。704.3.6文件系統(tǒng)控件

文件系統(tǒng)控件包括驅動器列表框、目錄列表框和文件列表框。文件系統(tǒng)控件可以單獨使用,也可以組合使用。

(1)驅動器列表框(DriveListBox)驅動器列表框用于選擇一個驅動器,是一個下拉列表框。(2)目錄列表框(DirListBox)目錄列表框顯示一個磁盤的目錄結構。顯示從根目錄起所有子目錄,子目錄相對上一級被縮進。默認為當前VB所在的目錄。

(3)文件列表框()(自學)714.3.6文件系統(tǒng)控件1.常用屬性

(1)DriveListBox控件的Drive屬性

DriveListBox控件的Drive屬性用于指定出現(xiàn)在驅動器列表框頂端的驅動器,可以通過單擊驅動器列表框,也可以在程序代碼中通過改變Drive屬性來設置驅動器。

(2)Path屬性

DirListBox控件和控件都有Path屬性,只能在程序代碼中設置。語法: 對象.Path=路徑

DirListBox的Path屬性用來設置當前目錄路徑,的Path屬性用來設置文件的路徑。

(3)控件Pattern屬性控件的Pattern屬性用來設置中要顯示的文件種類。724.3.6文件系統(tǒng)控件(4)ListIndex屬性這三種文件系統(tǒng)控件都有ListIndex屬性,用來設置或返回當前控件上所選擇項目的索引值。驅動器列表框和文件列表框中當前的第一項索引值為0,下拉列表的第二項索引值為1,依此類推,文件列表框中如果沒有文件顯示則ListIndex屬性為-1。734.3.6文件系統(tǒng)控件并列的子目錄ListIndex屬性為1第一級子目錄ListIndex屬性為0當前的目錄ListIndex屬性為-1緊鄰其上的目錄ListIndex屬性為-2當前驅動器ListIndex屬性為0

目錄列表框當前指定的目錄為打開的子目錄,則索引值為-1,緊鄰其上的目錄索引值為-2,依此類推到最高層目錄,相應的當前目錄的第一級子目錄的索引值為0744.3.6文件系統(tǒng)控件2.常用的事件(1)Change事件

DriveListBox和DirListBox控件都有Change事件,DriveListBox的Change事件是當選擇驅動器或修改Drive屬性時觸發(fā)的。DirListBox控件的Change事件是當雙擊目錄列表框選擇目錄或修改Path屬性時觸發(fā)的。通過DriveListBox

和DirListBox控件的Change事件來實現(xiàn)關聯(lián):PrivateSubDrive1_Change()'改變驅動器

Dir1.Path=Drive1.DriveEndSubPrivateSubDir1_Change()'改變目錄

=Dir1.PathEndSub754.3.6文件系統(tǒng)控件(2)控件的PathChange事件控件的PathChange事件是當設置文件名或修改Path屬性時觸發(fā)的。3.常用語句(1)ChDrive語句用于設置當前驅動器。語法: ChDrive驅動器例如,自動實現(xiàn)當前驅動器的同步:

PrivateSubDrive1_Change()'改變當前驅動器

ChDriveDrive1.DriveEndSub(2)ChDir語句設置當前工作目錄。語法: ChDir路徑【例4-11】用DriveListBox、DirListBox和控件組合起來組成文件管理系統(tǒng),并在圖片框中顯示所選擇的圖形文件。764.3.6文件系統(tǒng)控件

界面設計:在窗體界面中使用三個文件系統(tǒng)控件(Drive1、Dir1、

File1);使用一個框架(Frame1)和一個圖片框Picture1)顯示圖形文件。運行界面如圖所示。

功能要求:三個文件系統(tǒng)控件(Drive1、Dir1、File1)進行關聯(lián)實現(xiàn)文件管理;程序代碼如下:PrivateSubDir1_Change()'改變目錄

=Dir1.Path="*.bmp;*.wmf;*.ico"'設置顯示的文件類型EndSub774.3.6文件系統(tǒng)控件PrivateSubDrive1_Change()'改變驅動器

Dir1.Path=Drive1.DriveEndSubPrivateSub()Frame1.Caption='顯示文件名

'裝載圖片框的圖形文件

Picture1.Picture=LoadPicture(&"\"&)EndSub程序分析:文件列表框File1的Pattern屬性為圖片框可顯示的圖形文件類型“*.bmp”、“*.wmf”和“*.ico”,文件類型用分號(;)間隔。文件路徑和文件名中應加“\”。784.4控件數(shù)組

控件數(shù)組是一組具有相同名稱、類型和事件過程的控件。一個控件數(shù)組至少應有一個元素,元素的個數(shù)最多可達32767。同一控件數(shù)組中的元素可以設置不同的屬性值。1.在設計時創(chuàng)建控件數(shù)組在設計時有三種方法可以創(chuàng)建控件數(shù)組:(1)將相同名字賦予多個控件。在屬性窗口中將相同名字賦予多個控件。例如,創(chuàng)建含有兩個文本框的控件數(shù)組,使用相同的名稱Text1。創(chuàng)建控件數(shù)組的步驟如下:先創(chuàng)建第一個文本框Text1;然后創(chuàng)建第二個,系統(tǒng)自動將第二個文本框名稱設置為Text2。(自學)794.4控件數(shù)組在屬性窗口中將Text2改為Text1,出現(xiàn)圖4-34對話框,單擊按鈕“是”,系統(tǒng)自動設置第一個文本框的Index屬性值為0,第二個文本框的Index屬性值為1。(2)復制現(xiàn)有的控件并將其粘貼到窗體上。創(chuàng)建有兩個文本框的控件數(shù)組,步驟如下:先創(chuàng)建第一個文本框Text1;然后選擇“編輯”菜單的“復制”菜單項,單擊窗體后選擇“編輯”菜單的“粘帖”菜單項;出現(xiàn)對話框,單擊按鈕“是”就創(chuàng)建了文本框數(shù)組的第二個文本框。804.4控件數(shù)組(3)將控件的Index屬性設置為非Null數(shù)值創(chuàng)建有兩個文本框的控件數(shù)組,步驟如下:先創(chuàng)建第一個文本框Text1;將該控件的Index屬性設置為0,這時系統(tǒng)會自動創(chuàng)建一個控件數(shù)組。然后利用前兩種方法中的一種添加一個文本框,將不會出現(xiàn)圖所示的對話框。在屬性窗口中Index屬性自動為1。如圖所示。814.4控件數(shù)組【例4-12】使用控件數(shù)組創(chuàng)建一個簡單的撥號程序功能要求:在窗體界面中使用一個文本框Text1顯示所撥的號碼;使用10個按鈕控件數(shù)組Command1用于撥號,Index屬性是0~9,Caption屬性為相應的數(shù)字;命令按鈕“撥號”Command2未編程使用,“取消”按鈕Command3是清除文本框內容。運行程序的界面如圖。824.4控件數(shù)組程序代碼如下:PrivateSubCommand1_Click(IndexAsInteger)'單擊按鈕數(shù)組

Text1=Text1&Command1(Index).CaptionEndSub

PrivateSubCommand3_Click()'單擊取消按鈕

Text1.Text=""EndSub程序分析:按鈕數(shù)組中的按鈕用Command1(0)~Command1(9)表示。Command1_Click事件比非控件數(shù)組多了“(IndexAsInteger)”,以Index值來確定所單擊的是哪個控件元素。834.4控件數(shù)組2.在運行時創(chuàng)建控件數(shù)組的新控件

Load或Unload語句來添加或刪除控件數(shù)組中的控件。語法:

Load對象(Index) UnLoad對象(Index)【例4-13】將加油站計費程序界面中的三個選項按鈕用控件數(shù)組來實現(xiàn)。各種汽油的收費不同:

90號汽油單價2.90元/升,93號汽油單價3.40元/升,97號汽油單價3.60元/升。844.4控件數(shù)組功能要求:將三個選項按鈕數(shù)組(Option1)放在框架Frame1中;兩個標簽(Label1、Label2);一個文本框Text1用來輸入數(shù)量,一個“退出”按鈕Command1。854.4控件數(shù)組程序代碼如下:PrivateSubOption1_Click(IndexAsInteger)'單擊選項按鈕計算

DimPrize(2)AsSingleDimTotalAsSinglePrize(0)=2.9Prize(1)=3.4Prize(2)=3.6Total=Int(Prize(Index)*Text1*100)/100Label2.Caption="總價格為:"&Total&"元"EndSubPrivateSubCommand2_Click()'單擊退出按鈕

EndEndSub程序分析:Index是當觸發(fā)Option1_Click事件時傳遞的參數(shù)。864.5綜合練習【例4-14】按照Windows的字體對話框創(chuàng)建一個窗體,用來實現(xiàn)字體對話框的功能。1.界面設計2.屬性設置屬性設置如表所示。

溫馨提示

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

評論

0/150

提交評論