《Visual Basic程序設(shè)計(jì)案例教程》課件第6章_第1頁(yè)
《Visual Basic程序設(shè)計(jì)案例教程》課件第6章_第2頁(yè)
《Visual Basic程序設(shè)計(jì)案例教程》課件第6章_第3頁(yè)
《Visual Basic程序設(shè)計(jì)案例教程》課件第6章_第4頁(yè)
《Visual Basic程序設(shè)計(jì)案例教程》課件第6章_第5頁(yè)
已閱讀5頁(yè),還剩127頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第6章常用控件

6.1單選框、復(fù)選框和Frame控件6.2滾動(dòng)條6.3列表框和組合框6.4計(jì)時(shí)器6.5圖像框和圖片框習(xí)題6.1單選框、復(fù)選框和Frame控件案例1利用單選框和復(fù)選框設(shè)置文本的字體、顏色

1.學(xué)習(xí)目標(biāo)設(shè)計(jì)一個(gè)小型編輯器,用戶可以在文本框中輸入一段文字,單擊單選框和復(fù)選框,可以改變文本的字體、字型和顏色。通過本案例的學(xué)習(xí),掌握單選框(OptionButton)和復(fù)選框(CheckBox)的Value、Caption、BackColor、Visible等屬性和Click事件的用法。

2.相關(guān)知識(shí)

1)單選框和復(fù)選框的區(qū)別單選框(OptionButton)和復(fù)選框(CheckBox)是在設(shè)計(jì)用戶界面時(shí),常用于選擇的控件。單選框也稱為單選按鈕,利用OptionButton控件所制作的選項(xiàng)只可單選,即對(duì)于同一組的多個(gè)單選框,VB規(guī)定一次只能選擇其中之一,這是單選框與復(fù)選框的主要區(qū)別,也是單選框名稱的由來(lái)。而利用CheckBox控件則可制作出供使用者進(jìn)行多項(xiàng)選擇的選項(xiàng),即如果有多個(gè)復(fù)選框,用戶可以任意選擇它們的狀態(tài)組合,且每個(gè)復(fù)選框都是獨(dú)立的、互不影響的。單擊復(fù)選框時(shí),若框里出現(xiàn)一個(gè)選中標(biāo)志“√”,則表明該項(xiàng)被選中;再單擊它,則標(biāo)記消失,表示已取消選中操作,如圖6.1所示。圖6.1單選框和復(fù)選框

2)單選框和復(fù)選框的常見屬性前面介紹的大多數(shù)屬性都適用于單選框和復(fù)選框,如Caption、Name、BackColor、ForeColor、Picture、Height、Width、Enabled、Visible、Font等。復(fù)選框和單選框常用Value屬性返回或設(shè)置對(duì)象的狀態(tài),即控件是否被選中。復(fù)選框的Value屬性可以設(shè)置為0、1或2(0表示復(fù)選框未被選中,1表示復(fù)選框被選中,2表示該復(fù)選框無(wú)效(呈灰色));單選框的Value屬性可設(shè)置為True或False,True表示該對(duì)象被選中,F(xiàn)alse則相反。

3.程序?qū)崿F(xiàn)

1)界面設(shè)計(jì)初始界面如圖6.2所示。

2)屬性設(shè)置屬性設(shè)置如表6.1所示。設(shè)置屬性后的界面如圖6.3所示。圖6.2初始界面表6.1屬性設(shè)置圖6.3設(shè)置屬性后的界面

3)編寫代碼代碼編寫如下:

PrivateSubCommand1_Click()

Image1.Visible=False

Command1.Visible=False

Command2.Visible=False

Text1.Visible=True

Option1.Visible=True

Option2.Visible=True

Check1.Visible=True

Check2.Visible=True

EndSub

PrivateSubCommand2_Click()

End

EndSub若選中復(fù)選框1使文本變成斜體,則Text1的FontItalic屬性設(shè)為True;若選中復(fù)選框2使文本變成紅色,則設(shè)置Text1的前景色為紅色。代碼如下:

PrivateSubCheck1_Click()

IfCheck1.Value=1Then

Text1.FontItalic=True

Else

Text1.FontItalic=False

EndIfEndSub

PrivateSubCheck2_Click()

IfCheck2.Value=1Then

Text1.ForeColor=vbRed

Else

Text1.ForeColor=vbBlack

EndIf

EndSub單選框決定文本的字體是宋體還是隸書,如果選中單選框1,則文本字體為宋體;若選中單選框2,則文本字體為隸書。代碼如下:

PrivateSubOption1_Click()

Text1.FontName="宋體"

EndSub

PrivateSubOption2_Click()

Text1.FontName="隸書"

EndSub運(yùn)行程序,結(jié)果如圖6.4所示。圖6.4復(fù)選框和單選框

4.思考在本案例中,若增加一個(gè)復(fù)選框Check3,則

(1)怎樣設(shè)置屬性,使得該復(fù)選框上顯示“粗體”?

(2)怎樣增加代碼,使得選中復(fù)選框Check3后,文本框中的文本變成粗體?案例2利用Frame控件將單選按鈕分組

1.學(xué)習(xí)目標(biāo)將單選按鈕“宋體”和“黑體”分成“字體”組,將單選按鈕“10號(hào)”和“14號(hào)”分成“字號(hào)”組,使得可以從每組中任選其中一個(gè)單選按鈕。通過本案例的學(xué)習(xí),掌握框架(Frame)的Caption屬性和利用Frame控件將單選按鈕分組的方法。

2.相關(guān)知識(shí)框架(Frame)控件為控件容器,可以將多種不同類型的控件按不同的分組進(jìn)行存放,以方便管理和設(shè)定控件。其屬性與設(shè)定方法多半都與前面介紹過的相同,包括Caption、Name、BackColor、ForeColor、Picture、Height、Width、Enabled、Visible、Font等屬性。當(dāng)需要在同一窗體內(nèi)建立幾組互相獨(dú)立的單選按鈕時(shí),就需要用框架將每一組單選按鈕框起來(lái),從而將OptionButton控件分成幾組。注意:為了將控件分組,首先需要繪制Frame控件,然后繪制Frame里面的其他控件。

3.程序?qū)崿F(xiàn)

1)界面設(shè)計(jì)初始界面如圖6.5所示。

2)屬性設(shè)置屬性設(shè)置如表6.2所示。設(shè)置屬性后的界面如圖6.6所示。圖6.5初始界面表6.2屬性設(shè)置圖6.6設(shè)置屬性后的界面

3)編寫代碼代碼編寫如下:

PrivateSubForm_Load()

Option1.Value=True

Option3.Value=True

EndSub

PrivateSubOption1_Click()

Text1.FontName="華文行楷"

EndSub

PrivateSubOption2_Click()

Text1.FontName="楷體_GB2312"

EndSub

PrivateSubOption3_Click()

Text1.FontSize=16

EndSub

PrivateSubOption4_Click()

Text1.FontSize=20

EndSub運(yùn)行程序,結(jié)果如圖6.7所示。圖6.7利用Frame控件將單選按鈕分組6.2滾動(dòng)條案例3利用滾動(dòng)條控制窗體的背景色

1.學(xué)習(xí)目標(biāo)利用滾動(dòng)條控制窗體的背景色,使其隨滾動(dòng)條值的改變而改變。通過本案例的學(xué)習(xí),掌握水平滾動(dòng)條的Value、Max、Min等屬性和Change事件的用法。

2.相關(guān)知識(shí)滾動(dòng)條分為水平滾動(dòng)條(HScrollBar)和垂直滾動(dòng)條(VScrollBar)兩種,其圖標(biāo)如圖6.8所示。圖6.8滾動(dòng)條圖標(biāo)水平滾動(dòng)條和垂直滾動(dòng)條除方向不同外,其結(jié)構(gòu)和操作方法都是相同的。滾動(dòng)條的兩端各有一個(gè)滾動(dòng)箭頭,在滾動(dòng)箭頭之間有一個(gè)滾動(dòng)塊,如圖6.9所示。滾動(dòng)塊從一端移至另一端時(shí),其Value屬性值隨之發(fā)生變化。水平滾動(dòng)條最左端代表最小值,最右端代表最大值;而垂直滾動(dòng)條最上端為最小值,最下端為最大值。滾動(dòng)條的值由Min(最小)和Max(最大)兩個(gè)屬性設(shè)置,取值范圍為-32768~32767。圖6.9滾動(dòng)條結(jié)構(gòu)滾動(dòng)條常用的屬性有Value、LargeChange和SmallChange等。

(1)?Value屬性:該屬性用來(lái)返回或設(shè)置滾動(dòng)塊的當(dāng)前位置。缺省值為Min值,改變?cè)搶傩詣t滾動(dòng)塊的位置隨之發(fā)生變化。取值范圍在Max值與Min值之間。

(2)?LargeChange屬性:該屬性用來(lái)設(shè)置當(dāng)用戶單擊滾動(dòng)塊和滾動(dòng)箭頭之間的區(qū)域時(shí),Value屬性值增加或減小的幅度。

(3)?SmallChange屬性:該屬性用來(lái)設(shè)置當(dāng)用戶單擊滾動(dòng)箭頭時(shí),Value屬性值的改變量。即每單擊滾動(dòng)箭頭一次時(shí),滾動(dòng)塊移動(dòng)的步長(zhǎng)。滾動(dòng)條常見的事件有Change和Scroll。當(dāng)在滾動(dòng)條內(nèi)拖動(dòng)滾動(dòng)塊時(shí),將產(chǎn)生Scroll事件,從而觸發(fā)了一個(gè)Scroll事件過程。對(duì)Change事件而言,只有在滾動(dòng)塊位置改變后才觸發(fā)一個(gè)Change事件過程。

3.程序?qū)崿F(xiàn)

1)界面設(shè)計(jì)初始界面如圖6.10所示。

2)屬性設(shè)置屬性設(shè)置如表6.3所示。設(shè)置屬性后的界面如圖6.11所示。圖6.10初始界面表6.3屬性設(shè)置圖6.11設(shè)置屬性后的界面

3)編寫代碼代碼編寫如下:

PrivateSubHScroll1_Change()

Label2.Caption=HScroll1.Value

Form1.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)

EndSub

PrivateSubHScroll2_Change()

Label4.Caption=HScroll2.Value

Form1.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)

EndSub

PrivateSubHScroll3_Change()

Label6.Caption=HScroll3.Value

Form1.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)

EndSub運(yùn)行程序,結(jié)果如圖6.12所示。圖6.12利用滾動(dòng)條控制窗體的背景色6.3列表框和組合框案例4利用列表框顯示數(shù)據(jù)

1.學(xué)習(xí)目標(biāo)利用列表框顯示1到50之間能被6整除的自然數(shù)。通過本案例的學(xué)習(xí),掌握列表框(ListBox)的Clear、AddItem等方法的使用。

2.相關(guān)知識(shí)列表框(ListBox)可以提供許多選項(xiàng)供用戶選擇。如果選項(xiàng)超過列表框的長(zhǎng)度,VB會(huì)自動(dòng)提供垂直滾動(dòng)條。

1)列表框的常用屬性

(1)?ListCount屬性:返回列表框中項(xiàng)目的個(gè)數(shù)。該屬性為只讀屬性,只能在程序中引用。

(2)List屬性:返回或設(shè)置列表框中包含的選項(xiàng)。該屬性是一個(gè)一維字符串?dāng)?shù)組,每個(gè)數(shù)組元素的值對(duì)應(yīng)列表框中一個(gè)項(xiàng)目的顯示文字。

List()數(shù)組下標(biāo)的下界為0,上界為L(zhǎng)istCount-1。下標(biāo)為0的元素對(duì)應(yīng)列表框中第一個(gè)項(xiàng)目,依此類推。List屬性既可以在設(shè)計(jì)時(shí)設(shè)置,也可以在程序中增減或引用。例如,List1.List(2)對(duì)應(yīng)列表框中第三項(xiàng)的值。

List1.List(2)="課程VB"

(3)?ListIndex屬性:返回當(dāng)前被選中項(xiàng)目的序號(hào)。如果第一個(gè)項(xiàng)目被選中,則ListIndex的值為0,依此類推;如果當(dāng)前沒有項(xiàng)目被選中,則ListIndex的值為-1。該屬性只能在程序中設(shè)置或引用。

(4)?MultiSelect屬性:決定列表框是否支持多選。該屬性只能在設(shè)計(jì)時(shí)設(shè)置。其中:

0-None:不允許多重選擇,只能選擇一項(xiàng)。

1-Simple:簡(jiǎn)單的多重選擇。用鼠標(biāo)單擊或按空格鍵來(lái)選定或取消選定的一個(gè)選項(xiàng)。

2-Extended:擴(kuò)展的多重選擇。類似于Windows中選擇文件夾中的多個(gè)文件,按住Shift鍵的同時(shí)單擊鼠標(biāo),選擇連續(xù)的多個(gè)項(xiàng)目;或者按住Ctrl鍵的同時(shí)單擊鼠標(biāo),選擇不連續(xù)的多個(gè)項(xiàng)目。

(5)?SelCount屬性:返回當(dāng)前被選中項(xiàng)目的個(gè)數(shù)。該屬性只能在程序中引用。

(6)?Selected屬性:返回一個(gè)項(xiàng)目是否被選中。該屬性只能在程序中設(shè)置或引用。

Selected是一個(gè)邏輯型數(shù)組。數(shù)組元素值為True,表示相應(yīng)的項(xiàng)目被選中;若為False,則表示未被選中。例如,List1.Selected(1)=True表示選中List1中的第二項(xiàng)。

(7)?Sorted屬性:決定列表框中的項(xiàng)目是否按字母順序排序。如果Sorted為True,則項(xiàng)目按字母順序遞增排列;如果Sorted為False,則不排序(默認(rèn))。該屬性只能在設(shè)計(jì)時(shí)設(shè)置,在運(yùn)行時(shí)是只讀的。

(8)?Style屬性:設(shè)置列表框的風(fēng)格。該屬性只能在設(shè)計(jì)時(shí)設(shè)置。其中:Stytle為0,表示是標(biāo)準(zhǔn)風(fēng)格;Stytle為1,表示是復(fù)選框風(fēng)格,在每個(gè)項(xiàng)目前增加一個(gè)復(fù)選框,以表示該項(xiàng)是否被選中。

(9)?Text屬性:返回或設(shè)置當(dāng)前選項(xiàng)的文本內(nèi)容。該屬性只能在程序中設(shè)置或引用。

2)列表框的方法

(1)?AddItem方法:向列表框中添加一個(gè)新項(xiàng)目。其語(yǔ)法格式為:列表框?qū)ο竺?AddItem字符串表達(dá)式[,位置]說明:把字符串插入到列表框中指定的位置上(位置從0開始),如果省略了第二個(gè)參數(shù)“位置”,則新項(xiàng)目被加到最后。

(2)?RemoveItem方法:從列表框中刪除指定位置上的項(xiàng)目。其語(yǔ)法格式為:列表框?qū)ο竺?.RemoveItem位置

(3)?Clear方法:清除列表框中所有項(xiàng)目。其語(yǔ)法格式為:列表框?qū)ο竺?.Clear

3)列表框的常用事件列表框可觸發(fā)的事件有Click、DblClick等。

3.程序?qū)崿F(xiàn)

1)界面設(shè)計(jì)初始界面如圖6.13所示。

2)屬性設(shè)置屬性設(shè)置如表6.4所示。設(shè)置屬性后的界面如圖6.14所示。圖6.13初始界面表6.4屬性設(shè)置圖6.14設(shè)置屬性后的界面

3)編寫代碼代碼編寫如下:

PrivateSubCommand1_Click()

DimnAsInteger

List1.Clear

Forn=1To50

IfnMod6=0ThenList1.AddItemStr(n)

Nextn

EndSub運(yùn)行程序,結(jié)果如圖6.15所示。圖6.15利用列表框顯示1到50之間能被6整除的自然數(shù)案例5列表框的添加、刪除操作

1.學(xué)習(xí)目標(biāo)利用列表框進(jìn)行項(xiàng)目的添加、刪除。通過本案例的學(xué)習(xí),掌握列表框的ListCount、List、ListIndex等屬性和RemoveItem方法的使用。

2.程序?qū)崿F(xiàn)

1)界面設(shè)計(jì)初始界面如圖6.16所示。圖6.16初始界面

2)屬性設(shè)置屬性設(shè)置如表6.5所示。設(shè)置屬性后的界面如圖6.17所示。表6.5屬性設(shè)置圖6.17設(shè)置屬性后的界面

3)編寫代碼代碼編寫如下:

PrivateSubForm_Load()

List1.AddItem"武漢"

List1.AddItem"桂林"

List1.AddItem"上海"

EndSub

PrivateSubCommand1_Click()

DimcityAsString,iAsInteger

city=Text1.Text

Ifcity=""ThenExitSub

Fori=0ToList1.ListCount-1 ‘ListCount屬性返回列表框中項(xiàng)目的個(gè)數(shù)

Ifcity=List1.List(i)ThenExitSub '如果列表框中已有該項(xiàng),則不添加

Nexti

List1.AddItemcity

Text1.Text=""

EndSub

PrivateSubCommand2_Click()

IfList1.ListIndex>-1Then

List1.RemoveItemList1.ListIndex

'ListIndex屬性返回當(dāng)前被選中項(xiàng)目的序號(hào)

EndIf

EndSub運(yùn)行程序,結(jié)果如圖6.18所示。圖6.18利用列表框進(jìn)行項(xiàng)目的添加、刪除案例6利用列表框刪除多項(xiàng)

1.學(xué)習(xí)目標(biāo)從列表框中選擇一個(gè)或多個(gè)項(xiàng)目進(jìn)行刪除操作。通過本案例的學(xué)習(xí),掌握列表框的MultiSelect、SelCount、Selected等屬性的用法。

2.程序?qū)崿F(xiàn)

1)界面設(shè)計(jì)初始界面如圖6.19所示。

2)屬性設(shè)置屬性設(shè)置如表6.6所示。設(shè)置屬性后的界面如圖6.20所示。圖6.19初始界面表6.6屬性設(shè)置圖6.20設(shè)置屬性后的界面

3)編寫代碼代碼編寫如下:

PrivateSubForm_Load()

List1.AddItem"湖北"

List1.AddItem"湖南"

List1.AddItem"北京"

List1.AddItem"天津"

List1.AddItem"重慶"

EndSub

PrivateSubCommand1_Click()

DimiAsInteger

IfList1.SelCount=1Then

'SelCount屬性返回當(dāng)前被選中項(xiàng)目的個(gè)數(shù)

List1.RemoveItemList1.ListIndex

'如果選擇一項(xiàng),則直接刪除

ElseIfList1.SelCount>1Then

'如果選擇項(xiàng)目多于一項(xiàng),則用循環(huán)完成刪除操作

Fori=List1.ListCount-1To0Step?-1

'ListCount屬性返回列表框中項(xiàng)目的個(gè)數(shù)

IfList1.Selected(i)=TrueThen '數(shù)組元素值為True,表示相應(yīng)的項(xiàng)目被選中

List1.RemoveItemi

EndIf

Nexti

EndIf

EndSub運(yùn)行程序,結(jié)果如圖6.21所示。圖6.21從列表框中選擇一個(gè)或多個(gè)項(xiàng)目進(jìn)行刪除操作案例7利用組合框進(jìn)行選擇

1.學(xué)習(xí)目標(biāo)利用組合框選擇文化程度、業(yè)余愛好。通過本案例的學(xué)習(xí),掌握組合框的Text屬性、AddItem方法和KeyPress事件的用法。

2.相關(guān)知識(shí)組合框(ComboBox)是單獨(dú)控件,可以看作是列表框和文本框組合而成的控件。組合框的常用屬性、方法、事件與列表框和文本框基本相同。

1)組合框的常用屬性

(1)?Style屬性:Style屬性取值及含義如下。①?Style屬性值為0,即常量vbComboDropDown(下拉式組合框)。不操作時(shí)僅顯示文本框及其右邊的下拉箭頭;執(zhí)行時(shí),用戶可以直接在文本框中輸入內(nèi)容,也可以用鼠標(biāo)單擊文本框右邊的下拉箭頭打開列表框,從列表中選擇,選中項(xiàng)的內(nèi)容將顯示在文本框中。②Style屬性值為1,即常量vbComboDropSimple(簡(jiǎn)單組合框)。文本框右邊沒有下拉箭頭,文本框和列表框一直顯示在窗體上,列表框不能收起。用戶可以在列表框中選擇選項(xiàng),也可以在文本框中直接輸入。③??Style屬性值為2,即常量vbComboDropList(下拉式列表框)。外觀與下拉式組合框相似,區(qū)別是只能從列表框中進(jìn)行選擇,不能在文本框中輸入。

(2)其他常用屬性:對(duì)應(yīng)于文本框,組合框有SelLength、SelStart、SelText、Text等屬性;對(duì)應(yīng)于列表框,組合框有ListIndex、Sorted、List、ListCount等屬性。組合框無(wú)MultiSelect、SelCount、Selected等屬性。

2)組合框的常用方法組合框的常用方法有AddItem、Clear、RemoveItem等。對(duì)于組合框來(lái)說,把用戶在文本框部分輸入的內(nèi)容添加到列表框部分的語(yǔ)句格式為:組合框的對(duì)象名.AddItem組合框?qū)ο竺?Text[,位置]

3)組合框的常用事件組合框的常用事件有Click、DblClick、KeyPress、Change等。

3.程序?qū)崿F(xiàn)

1)界面設(shè)計(jì)初始界面如圖6.22所示。

2)屬性設(shè)置屬性設(shè)置如表6.7所示。設(shè)置屬性后的界面如圖6.23所示。圖6.22初始界面表6.7屬性設(shè)置圖6.23設(shè)置屬性后的界面

3)編寫代碼代碼編寫如下:

PrivateSubForm_Load()

Combo1.AddItem"???

Combo1.AddItem"本科"

Combo1.AddItem"碩士"

Combo2.AddItem"文學(xué)"

Combo2.AddItem"體育"

Combo2.AddItem"旅游“

EndSub

PrivateSubCombo2_KeyPress(KeyAsciiAsInteger)

IfKeyAscii=13Then'KeyAscii=13表示按回車鍵

Combo2.AddItemCombo2.Text,0

'在組合框的文本框部分輸入新的選項(xiàng)后按回車鍵,則新的選項(xiàng)添加到組合框中

EndIf

EndSub

PrivateSubCommand1_Click()

Label4.Caption="你的文化程度:"+Combo1.Text

Label5.Caption="你的業(yè)余愛好:"+Combo2.Text

EndSub運(yùn)行程序,結(jié)果如圖6.24所示。圖6.24利用組合框選擇文化程度、業(yè)余愛好6.4計(jì)時(shí)器案例8電子鐘

1.學(xué)習(xí)目標(biāo)利用計(jì)時(shí)器和標(biāo)簽控件設(shè)計(jì)電子鐘。通過本案例的學(xué)習(xí),掌握計(jì)時(shí)器的Interval屬性和Timer事件的用法。

2.相關(guān)知識(shí)計(jì)時(shí)器(Timer)控件是利用系統(tǒng)內(nèi)部的計(jì)時(shí)器計(jì)時(shí)的,它根據(jù)用戶定制的時(shí)間間隔(Interval)觸發(fā)計(jì)時(shí)器事件過程,即Timer控件可以有規(guī)律地每隔一段時(shí)間重復(fù)執(zhí)行一次代碼,其圖標(biāo)如圖6.25所示。其缺省名為TimerX(X=1,2,3,…)。一般來(lái)說,只要跟時(shí)間有關(guān)的問題,就一定少不了計(jì)時(shí)器控件。建立計(jì)時(shí)器的操作十分簡(jiǎn)單,只要在工具箱中的計(jì)時(shí)器圖標(biāo)上雙擊,計(jì)時(shí)器就會(huì)被放置在窗體的正中央,其位置和大小不需要調(diào)整,因?yàn)樗挥性谠O(shè)計(jì)階段才出現(xiàn)在窗體上,運(yùn)行后屏幕上并不顯示。圖6.25計(jì)時(shí)器圖標(biāo)

Timer有Name、Left、Top、Index、Enable、Tag及Interval等屬性,其中最重要的是Interval(時(shí)間間隔),它決定著系統(tǒng)多久觸發(fā)一個(gè)計(jì)時(shí)器事件,以毫秒為單位,其取值范圍為0~65535毫秒,因此最大的時(shí)間間隔不能超過65秒。如果將Interval設(shè)置為1000,則表示每1秒鐘觸發(fā)一個(gè)計(jì)時(shí)器事件;如果設(shè)置為0,則表示計(jì)時(shí)器被關(guān)閉,不產(chǎn)生計(jì)時(shí)器事件。計(jì)時(shí)器事件(Timer事件)是指在預(yù)定時(shí)間間隔過去之后,由Windows系統(tǒng)自動(dòng)執(zhí)行的Timer事件過程。該事件是系統(tǒng)內(nèi)部所產(chǎn)生的動(dòng)作,不是由用戶引發(fā)的事件,因此計(jì)時(shí)器事件也稱為系統(tǒng)事件。

3.程序?qū)崿F(xiàn)

1)界面設(shè)計(jì)初始界面如圖6.26所示。

2)屬性設(shè)置屬性設(shè)置如表6.8所示。設(shè)置屬性后的界面如圖6.27所示。圖6.26初始界面表6.8屬性設(shè)置圖6.27設(shè)置屬性后的界面

3)編寫代碼代碼編寫如下:

PrivateSubTimer1_Timer()

Label2.Caption=Now()'Now()返回系統(tǒng)日期和時(shí)間,格式為yyyy-mm-ddhh:mm:ss

EndSub運(yùn)行程序,結(jié)果如圖6.28所示。圖6.28利用計(jì)時(shí)器和標(biāo)簽控件設(shè)計(jì)的電子鐘

4.思考

(1)如果Timer1的Interval=2000,則運(yùn)行結(jié)果是什么?

(2)如果不設(shè)置Timer1的Interval的值,即Timer1的Interval值為0,則運(yùn)行結(jié)果是什么?案例9滾動(dòng)字幕

1.學(xué)習(xí)目標(biāo)設(shè)計(jì)滾動(dòng)字幕,使?jié)L動(dòng)字幕內(nèi)容“誰(shuí)言寸草心,報(bào)得三春暉?!痹诖绑w中從左向右反復(fù)地移動(dòng)。通過本案例的學(xué)習(xí),掌握計(jì)時(shí)器和標(biāo)簽的綜合使用。

2.程序?qū)崿F(xiàn)

1)界面設(shè)計(jì)初始界面如圖6.29所示。

2)屬性設(shè)置屬性設(shè)置如表6.9所示。設(shè)置屬性后的界面如圖6.30所示。圖6.29初始界面表6.9屬性設(shè)置圖6.30設(shè)置屬性后的界面

3)編寫代碼代碼編寫如下:

PrivateSubTimer1_Timer()'Form1.ScaleWidth是Form1右下角的橫坐標(biāo)

IfLabel1.Left+Label1.Width>Form1.ScaleWidthThen

Label1.Left=Form1.ScaleLeft

'如果標(biāo)簽將要移出窗體Form1,則標(biāo)簽從最左開始往右移

'Form1.ScaleLeft是Form1左下角的橫坐標(biāo)

Else

Label1.MoveLabel1.Left+30'標(biāo)簽向右移

EndIf

EndSub運(yùn)行程序,結(jié)果如圖6.31所示。圖6.31滾動(dòng)字幕6.5圖像框和圖片框案例10圖像框

1.學(xué)習(xí)目標(biāo)利用計(jì)時(shí)器和圖像框設(shè)計(jì)一個(gè)簡(jiǎn)單的動(dòng)畫。通過本案例的學(xué)習(xí),掌握?qǐng)D像框的Picture、Visible等屬性的用法。

2.相關(guān)知識(shí)圖片類控件主要用于在窗體的指定位置顯示圖形信息,常見的有圖像框(Image)和圖片框(PictureBox)。圖像框只用來(lái)顯示圖形,而圖片框除可以顯示圖形以外,還可以作為其他控件的容器和顯示以Print方法輸出的文本。圖像框與圖片框的缺省名分別為ImageX(X為1,2,3,…)和PictureX。如果只單純地顯示圖形,則一般采用圖像框。用圖像框顯示圖形時(shí),占用的內(nèi)存比圖片框的少。圖像框有Stretch(拉伸)屬性,當(dāng)將它設(shè)為True時(shí),裝入的圖形可根據(jù)圖像框的大小自動(dòng)壓縮或擴(kuò)大;當(dāng)將它設(shè)為False時(shí),圖像框會(huì)自動(dòng)改變大小以適應(yīng)圖形大小。圖像框及圖片框的圖形加載都是通過設(shè)置Picture屬性來(lái)完成的。其設(shè)置方法與其他控件的相同,可通過屬性表或設(shè)置代碼來(lái)完成。設(shè)置Picture屬性時(shí),只有符合以下6種格式的圖形文件才能被加載:①?.bmp位圖文件,即Windows的標(biāo)準(zhǔn)文件;②?.gif文件,屬“無(wú)損壓縮”文件;③?.jpg文件,是JPEG壓縮文件,屬“有損壓縮”文件;④?.wmf文件,是繪圖命令構(gòu)成的文件;⑤?.ico圖標(biāo)文件或?.cur指針文件;⑥?.dib文件,即位圖文件。此外,圖形的加載也可以通過剪貼板來(lái)完成,即先使用任意圖形軟件工具制作一個(gè)圖形,然后利用剪貼板的“復(fù)制”、“粘貼”命令將圖形插入到所需位置。利用LoadPicture函數(shù)加載圖形的語(yǔ)句形式:

<對(duì)象名>.Picture=LoadPicture([Filename])其中,對(duì)象名可以是圖像框、圖片框、窗體的名稱;Filename是一個(gè)字符串,為包括路徑在內(nèi)的圖形文件名,當(dāng)省略Filename時(shí)表示清除控件已裝載的圖形。語(yǔ)句功能:在運(yùn)行時(shí),通過引用LoadPicture函數(shù)加載指定文件的圖片。例如:運(yùn)行時(shí),要將D盤pict文件夾中圖形文件a.jpg內(nèi)保存的圖片顯示于圖像框Image1中,則應(yīng)執(zhí)行語(yǔ)句:

Image1.Picture=LoadPicture("D:\pict\a.jpg")清除所顯示的圖片,則應(yīng)執(zhí)行語(yǔ)句:

Image1.Picture=LoadPicture()注意:采用在屬性表中設(shè)置Picture屬性、利用剪貼板復(fù)制圖形和使用LoadPicture函數(shù)加載這三種方法加載圖形時(shí),可根據(jù)實(shí)際應(yīng)用的需要選用相應(yīng)的方法。

3.程序?qū)崿F(xiàn)

1)界面設(shè)計(jì)初始界面如圖6.32所示。

2)屬性設(shè)置屬性設(shè)置如表6.10所示。設(shè)置屬性后的界面如圖6.33所示。圖6.32初始界面表6.10屬性設(shè)置圖6.33設(shè)置屬性后的界面

3)編寫代碼代碼編寫如下:

PrivateSubTimer1_Timer()

DimsAsInteger

s=Int(Rnd*3)+1'利用Rnd函數(shù)隨機(jī)產(chǎn)生1、2、3

SelectCases

Case1

Image1.Visible=True

Image2.Visible=False

Image3.Visible=False

Case2

Image2.Visible=True

Image1.Visible=False

Image3.Visible=False

Case3

Image3.Visible=True

Image1.Visible=False

Image2.Visible=False

EndSelect

EndSub運(yùn)行程序,結(jié)果如圖6.34所示。圖6.34利用計(jì)時(shí)器和圖像框設(shè)計(jì)的簡(jiǎn)單動(dòng)畫案例11圖片框

1.學(xué)習(xí)目標(biāo)設(shè)計(jì)一個(gè)簡(jiǎn)單的“看圖學(xué)英文”的少兒多媒體教學(xué)軟件。通過本案例的學(xué)習(xí),掌握?qǐng)D片框的Picture屬性和MouseMove事件的用法。

2.相關(guān)知識(shí)圖片框的功能要比圖像框的完善些,它可顯示圖形及以Print方法輸出的文本,還可以作為其他控件的容器。

1)圖像的處理用圖片框加載及清除圖形的方法與用圖像框的一樣,都是通過Picture屬性、剪貼板或LoadPicture()函數(shù)來(lái)完成的。但是,使用圖片框加載的圖形不能被壓縮或放大,為了顯示完整的圖形,只能由AutoSize屬性決定是否改變PictureBox控件的大小以顯示圖形的全部?jī)?nèi)容。該屬性設(shè)置為True時(shí),圖片框自動(dòng)改變大小以顯示全部?jī)?nèi)容;為False(缺省值)時(shí),保持圖片框大小不變,超出圖片框區(qū)域的部分圖形將被裁剪掉。

2)文本的處理在圖片框上輸出文本可以使用剪貼板將其他文件中的文本傳輸過來(lái)或使用Print方法輸出,Print方法的基本語(yǔ)法為:

[對(duì)象.]Print[文本][{;|,}]其中,“對(duì)象”一般指窗體、圖片框或打印機(jī);“文本”參數(shù)為字符串或數(shù)字表達(dá)式;分號(hào)表示將光標(biāo)直接定位在最后打印字符之后;逗號(hào)表示將光標(biāo)定位在下一個(gè)打印區(qū)的開始位置,每14列為一個(gè)打印區(qū)。如果“文本”參數(shù)后無(wú)符號(hào),則光標(biāo)定位在下一行。例如:

PrivateSubPicture1_Click()

Picture1.Print'輸出一個(gè)空行

Picture1.Print"VISUALBASIC6.0"

Picture1.Print

Picture1.Pri

溫馨提示

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

評(píng)論

0/150

提交評(píng)論