VB 函數和一般程式非常相似,不過它主要的功能是接受某些數值然后把它提交於主程式去完成執行任務. 函數可分為兩種,一種是內建函數,另一種是外部函數。內建函數是VB系統定義的函數,外部函數則是程式師自己設計出來的函數。
在這一課裡,我們要學習兩個很基本的,但卻是很有用的內建函數, 那就是MsgBox( ) 和 InputBox ( ) 函數
Msgbox 的作用是顯示一個彈出式消息框,並提示用戶點擊一個命令按鈕以繼續進行下一個任務。Msgbox的結構如下:
yourMsg=MsgBox(Prompt, Style Value, Title)
Msgbox 裡的第一個參數 Prompt 是用來顯示在消息框中的信訊息。 參數 Style Value 是確定什麼類型的命令按鈕出現在消息框中(請參閱表10.1). 參數Title 顯示留言板上的標題
| Style Value | 命名常數 | 顯示的按鈕 |
|---|---|---|
| 0 | vbOkOnly | Ok button |
| 1 | vbOkCancel | Ok and Cancel buttons |
| 2 | vbAbortRetryIgnore | Abort, Retry and Ignore buttons. |
| 3 | vbYesNoCancel | Yes, No and Cancel buttons |
| 4 | vbYesNo | Yes and No buttons |
| 5 | vbRetryCancel | Retry and Cancel buttons |
我们也可用命名常數来取代 Style value 參数. 其实, VB6 会自動顯示所有的命名常數,您只需要選擇其中之一。
例子:
yourMsg=MsgBox( "Click OK to Proceed", 1, "Startup Menu")
和
yourMsg=Msg("Click OK to Proceed". vbOkCancel,"Startup Menu")
是一样的。
yourMsg 是个可持有由MsgBox ( )函数接受的价值的变数 . 这些價值是由各類型的按鈕被點擊而决定的。 表10.2 顯示值,相應的命名常數和按鈕。
| 值 | 常數 | 被點擊的按鈕 |
|---|---|---|
| 1 | vbOk | Ok button |
| 2 | vbCancel | Cancel button |
| 3 | vbAbort | Abort button |
| 4 | vbRetry | Retry button |
| 5 | vbIgnore | Ignore button |
| 6 | vbYes | Yes button |
| 7 | vbNo | No button |
在圖10.1里,你制定三個命令按鈕和一個標籤。
Private Sub Test_Click()
Dim testmsg As Integer
testmsg = MsgBox("Click to test", 1, "Test message")
If testmsg = 1 Then
Display.Caption = "測試成功"
Else
Display.Caption = "測試失敗"
End Sub
當用戶按一下測試按鈕,圖像10.2將會出現。當用戶按一下確定(OK)按鈕,標籤將顯示“測試成功”的信息,當他點擊取消(Cancel)按鈕時,標籤將顯示“測試失敗”的信息。
為了使消息框看起來更精密的,您可以添加一個圖標 。VB中有四種類型的圖標,如表10.3所顯示
| 值 | 常數 | 圖標 | |
|---|---|---|---|
| 16 | vbCritical | ![]() |
|
| 32 | vbQuestion | ![]() |
|
| 48 | vbExclamation | ![]() |
|
| 64 | vbInformation | ![]() |
Private Sub test2_Click()
Dim testMsg2 As Integer
testMsg2 = MsgBox("Click to Test", vbYesNoCancel + vbExclamation, "Test Message")
If testMsg2 = 6 Then
display2.Caption = "測試成功"
ElseIf testMsg2 = 7 Then
display2.Caption = "您肯定吗?"
display2.Caption = "測試失败"
End If
End Sub
InputBox ( )函數將顯示一個消息框以便用戶可以輸入一個值或一個信息。它的形式如下;
myMessage=InputBox(Prompt, Title, default_text, x-position, y-position)
myMessage 是一个Variant數據類型,但通常這是宣布為字符串,它接受由用戶輸入的信息
.
| Prompt | 通常顯示为一个質詢。 |
| Title | 輸入框的標题。 |
| default-text | 在輸入欄位顯示的文字,,用户可以使用它来作為他的輸入或他可能會改變的訊息。 |
| x-position and y-position | 輸入框的位置或坐標 |
Private Sub OK_Click()
Dim userMsg As String
userMsg = InputBox("What is your message?", "Message Entry Form", "Enter your
messge here", 500, 700)
If userMsg <> "" Then
message.Caption = userMsg
Else
message.Caption = "没有消息"
End If
End Sub
當用戶在輸入框點擊OK按鈕時,圖10.5 將會出現。當用戶鍵入一個信息,然后點擊OK按鈕,這信息將在標題顯示出來,如果他點擊Cancel按鈕, “沒有消息”會被顯示。