VB考试教程:对话框
文章作者 100test 发表时间 2007:03:10 18:28:14
来源 100Test.Com百考试题网
一、消息对话框
在编写代码时,我们常常需要在屏幕上显示一些提示信息、警告信息、询问信息或错误信息等消息,对用户的操作做一个提醒或反馈,这时就需要用到消息对话框。
消息对话框是用MsgBox语句或Msgbox函数产生的,两者的不同之处在于MsgBox函数还会产生一个返回值,而MsgBox语句没有返回值,常用于比较简单的信息显示。
MsgBox 语句的语法格式:
MsgBox(提示内容信息,消息框类型,消息框标题,HelpFile,Context)
如:MsgBox"数据正确吗?"
MsgBox 函数的语法格式:
整形变量=MsgBox(提示内容信息,消息框类型,消息框标题,HelpFile,Context)
(1)提示信息(Prompt)——是指在消息框中出现的文本,是字符串表达式,最大长度为l04个字符。
(2)消息框类型(Buttons)——是指消息框中的按钮和图标,是数值表达式,一般有3个参数,指定显示按钮的数目及形式、使用的图标样式、默认按钮是什么以及消息框的强制回应等。如果省略,则默认为0。其取值和含义见下面3个表格(表1、表2、表3)。这3个参数值可以相加以达到需要的样式。
(3)消息框标题(Title)——是指消息框标题栏的标题,是字符串表达式,如果省略,则将当前应用程序名放在标题栏中。
(4)HelpFile——是字符串表达式,识别用来向消息对话框提供上下文相关帮助的帮助文件。如果提供了参数,则也必须提供参数。
(5)Context——是数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编导。同
样,如果提供了参数,则也必须提供参数。
注意:5个参数中只有第一个参数(Prompt)是必须的,其它的为可选的。
(6)MsgBox函数返回的值指明了在消息框中选择哪一个按钮,如表4。
表1
数值常量 |
值 |
在消息框上显示的按钮 |
VbOKOnly |
0 |
“确定”按钮 |
VbOKCancel |
1 |
“确定”和“取消”按钮 |
VbAbortRetryIgnore |
2 |
“终止(A)”、“重试(RP)”和“忽略(I)”按钮 |
VbYesNoCancel |
3 |
“是(Y)”、“否(N)”、“取消”按钮 |
VbYesNo |
4 |
“是(Y)”和“否(N)”按钮 |
VbRetryCancel |
5 |
“重试(RP)”和“取消”按钮 |
表2
数值常量 |
值 |
在消息框上显示的图标 |
VbCritical |
16 |
显示Critical Message图标 |
VbQuestion |
32 |
显示Warning Query图标 |
VbExclamation |
48 |
显示Warning Message图标 |
VbInformation |
64 |
显示Information Message图标 |
表3
数值常量 |
值 |
默认的按钮 |
VbDefaultButton1 |
0 |
第一个按钮为默认的按钮 |
VbDefaultButton2 |
256 |
第二个按钮为默认的按钮 |
VbDefaultButton3 |
512 |
第三个按钮为默认的按钮 |
VbDefaultButton4 |
768 |
第四个按钮为默认的按钮 |
VbApplicationModal |
0 |
应用程序强制返回;应用程序被挂起,直到用户对消息框作出响应才继续工作。 |
VbSystemModal |
4096 |
系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作。 |
表4
符号常量 |
MsgBox函数返回的值 |
所对应的按钮 |
vbOK |
1 |
“确定”按钮(OK) |
vbCancel |
2 |
“取消”按钮(Cancel) |
vbAbort |
3 |
“终止(A)”按钮(Abort) |
vbRetry |
4 |
“重试(RP)”按钮(Retry) |
vbIgnore |
5 |
“忽略(I)”按钮(Ignore) |
vbYes |
6 |
“是(Y)”按钮(Yes) |
vbNo |
7 |
“否(N)”按钮(No) |
注意:如果要在MsgBox语句或MsgBox函数的格式中省略某些参数,则必须加入相应的逗号分隔符。
例1:显示消息框。
Dim c As Integer
Private Sub Command1_Click()
c = MsgBox("abcd", 5 16 256, "xyz")
if c=2 Then end
End Sub
将数值分别改动一下,再看运行结果。
例2:
Private Sub Form_Unload(Cancel As Integer)
Dim intyourreply As Integer
Dim strmyreply As String
intyourreply = MsgBox("动画已显示完毕" Chr(13) "您是否满意", vbYesNoCancel _
vbQuestion vbDefaultButton1 vbApplicationModal, "询问您的意见")
strmyreply = "我的回答"
Select Case intyourreply
Case vbYes
MsgBox "非常感谢!欢迎再来。", , strmyreply
Case vbNo
MsgBox "非常遗憾,请多提宝贵意见!", , strmyreply
Case vbCancel
MsgBox "沉默是金!", , strmyreply