全国计算机等级考试二级教程第七章,2012年全国计算机等级考试二级VB入门教程第七章(1)...
上一章里,我們討論的VB的輸人機(jī)制,這次我們來集中討論VB中信息的輸出。
輸入和輸出是不可分割的,人們輸入的最終目的是希望計(jì)算機(jī)作出反應(yīng),任何一個(gè)程序都不可能避開這個(gè)問題,所以就算要完成一個(gè)最基本的程序,也要有輸出的部分,復(fù)雜的程序更是如此。
在輸入的一章里,我們學(xué)習(xí)的第一個(gè)輸入方法是InputBox,相應(yīng)的在輸出中我們第一個(gè)要接觸的是MsgBox(Message Box),和InputBox相似,MsgBox也是簡化了的窗體,可以以函數(shù)的形式返回操作。它的基本語法是:
MsgBox "顯示內(nèi)容",按鈕值,"標(biāo)題"
通過這個(gè)函數(shù)可以產(chǎn)生一個(gè)標(biāo)準(zhǔn)的Windows消息框,象我們平時(shí)經(jīng)常接觸的“Yes/No”、“OK/Cancel”,“Retry/Abort/Ignore”等等,這些都是在按鈕值中設(shè)定的,按鈕值如下:數(shù)值含義
0OK
1OK和Cancel
2Abort、Retry和Ignore
3Yes、No和Cancel
4Yes和No
5Retry和Cancel
并且不同的消息可以搭配不同的圖標(biāo),比如幫助文件用問號(hào),一般提示用一個(gè)圈里一個(gè)I等等,它們也是按鈕值的一部分:數(shù)值含義
16表示危險(xiǎn)
32表示問號(hào)
48表示警告
64表示信息
但是如何既顯示按鈕也顯示相應(yīng)的圖標(biāo)呢,請(qǐng)看一會(huì)兒下面的例子。前面說過,MsgBox是函數(shù),那么它就會(huì)有返回值,當(dāng)你按下某個(gè)按鈕就會(huì)返回一個(gè)數(shù)值,以便對(duì)用戶不同動(dòng)作的捕捉,返回值如下:數(shù)值含義
1OK
2Cancel
3Abort
4Retry
5Ignore
6Yes
7No
說了這么多,可能你已經(jīng)不知所措了,不過看過下面的例子后,相信一切都會(huì)迎刃而解。
首先建立一個(gè)新項(xiàng)目文件,并添加以下對(duì)象(見圖7-1)――一個(gè)Button(Command1),兩個(gè)ComboBox(Combo1和Combo2),不要對(duì)其屬性做更多的修改,只需把Command1的Caption改為“Click Me”。這個(gè)程序的目的是自由組合上面的按鈕值,以顯示各種消息框,并且返回按下的按鈕,Combo1和Combo2分別用來選擇按鈕值,首先在Form_Load中初始化程序:
Private Sub Form_Load()
Combo1.AddItem "OK"
Combo1.AddItem "OK and Cancel"
Combo1.AddItem "Abort,Retry and Ignore"
Combo1.AddItem "Yes,No,Cancel"
Combo1.AddItem "Yes,No"
Combo1.AddItem "Retry,Cancel"
Combo1.ListIndex = 0
Combo2.AddItem "危險(xiǎn)"
Combo2.AddItem "詢問"
Combo2.AddItem "警告"
Combo2.AddItem "信息"
Combo2.ListIndex = 0
End Sub來源:-計(jì)算機(jī)二級(jí)考試
ComboBox的用法已經(jīng)在上一章中討論過,在此不再贅述,ListIndex屬性用來把第一個(gè)元素放在選擇位置。
但是如何顯示需要的按鈕和圖標(biāo)呢?很簡單,只需把它們相加,比如說要顯示OK、Cancel按鈕和警告的圖標(biāo),只需把1和48相加,得到49即可,于是我們?cè)贑ommand1中填寫這樣一行:
Private Sub Command1_Click()
message = MsgBox("顯示" & Combo1.List(Combo1.ListIndex) & "和" & Combo2.List(Combo2.ListIndex), Combo1.ListIndex + (Combo2.ListIndex + 1) * 16, "消息演示")
End Sub
因?yàn)閳D標(biāo)值是從16開始的所以要把Combo2的ListIndex加1再乘以16。
小知識(shí):按鈕值并非簡單的相加
按鈕值并非簡單的相加,我們知道,在計(jì)算機(jī)里最終的語言是機(jī)器語言,而機(jī)器語言是以0和1的二進(jìn)制表示的,在這里用到的實(shí)際上不是相加,而是邏輯操作符“OR”,你知道OR和AND是怎樣工作的嗎?正如你所知,True And False得到False,而True Or False得到True,這是怎么形成的呢?我們有時(shí)也用0代表False,用1或-1代表True(其實(shí),只要非零都可以代表True),而0和1在二進(jìn)制中還是本身,于是True、False的運(yùn)算就變成的0 和1的運(yùn)算,我們可以把And叫做補(bǔ)0運(yùn)算,把Or叫做補(bǔ)1運(yùn)算,當(dāng)用And處理兩個(gè)二進(jìn)制數(shù)的時(shí)候,它們逐位比較,如果相同的位上都是0或都是1則沒有變化,而如果一位上是0,另一位上是1,最后結(jié)果上相應(yīng)的位上就變成0。比如1010(十進(jìn)制中10)And 1101(十進(jìn)制中13),最后就得1000(十進(jìn)制中8),相同的Or亦是如此,只不過在不同的地方補(bǔ)1。在位數(shù)不同時(shí),前面補(bǔ)0,你可以在VB中試試看。但為什么要講這些呢,原因是我不想讓大家真的以為這個(gè)例子中就是相加,只不過碰巧它們的0和1處在不同的位置上,并且這個(gè)小知識(shí)在今后的位圖操作和API操作中很有用處。
下面在來判斷用戶按下的按鈕。
Private Sub Command1_Click()
message = MsgBox("顯示" & Combo1.List(Combo1.ListIndex) & "和" & Combo2.List(Combo2.ListIndex), Combo1.ListIndex + (Combo2.ListIndex + 1) * 16, "消息演示")
Select Case message
Case 1
MsgBox "你按下了OK鈕"
Case 2
MsgBox "你按下了Cancel按鈕"
Case 3
MsgBox "你按下了Abort按鈕"
Case 4
MsgBox "你按下了Retry按鈕"
Case 5
MsgBox "你按下了Ignore按鈕"
Case 6
MsgBox "你按下了Yes按鈕"
Case 7
MsgBox "你按下了No按鈕"
End Select
End Sub
運(yùn)行程序,結(jié)果如圖7-2,7-3。
總結(jié)
以上是生活随笔為你收集整理的全国计算机等级考试二级教程第七章,2012年全国计算机等级考试二级VB入门教程第七章(1)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中职学校计算机教学中论文,中职学校计算机
- 下一篇: 清华计算机学院吴建平,吴建平