msgbox函数用法详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用过Windows 及其应用软件的人肯定熟悉如图1所示的消息框,这在VB 中可用MsgBox 函数来实现。
MsgBox 函数的使用格式如下:
变量=MsgBox(提示[,按钮][,标题])
其中:
(1) 变量 用于指定接收函数的返回值。MsgBox 函数的返回值是一个整数,因此变量一般为整型变量。
(2) 提示与标题 意义同InputBox 函数。
(3) 按钮 整型表达式,决定消息框中按钮的数目、类型及出现在消息框上的图标类型。其设置见表1。
在表1中,“按钮”设置值被分成了三组。具体使用时,由每一组中取一个值相加而成。当然,并非每次都要取三个值,也可以取两个、一个甚至全部省略。 表
1 消息框中“按钮”设置值及意义
分组
常数 值 描述 按钮数目及类型 vbOKOnly 0
只显示“确定”按钮 vbOKCancel 1
显示“确定”及“取消”按钮 vbAbortRetryIgnore 2
显示“中断”、“重试”及“忽略”按钮 vbYesNoCancel 3
显示 “是”、“否”及“取消”按钮 vbYesNo 4
显示“是”及“否”按钮 vbRetryCancel 5
显示“重试”及“取消”按钮 图标类型 vbCritical 16
显示红色的STOP 标志,用于严重警告信息 vbQuestion 32
显示“?”图标,用于询问信息 vbExclamation 48
显示“!”图标,用于警告信息 vbInformation 64
显示“i ”图标,用于一般信息 默认按钮
vbDefaultButton1
0 第一个按钮是缺省值 vbDefaultButton2
256 第二个按钮是缺省值 vbDefaultButton3 512 第三个按钮是缺省值
如要产生图1所示的消息框,可用如下语句:
x=MsgBox("是否保存对“第四章 基本控制结构.doc ”的修改?", 3 + vbExclamation + vbdefultbutton1, "Microsoft Word")
在实习时,可以将除提示与标题外的其它参数,按表中的内容进行更换,体会各种不同组合对消息框内容的影响。这一部分一定要自己在实习的时候多试一试。
变量x 用于记录用户按了消息框中哪一个按钮,不同的按钮返回的值不同。各个按钮的返回值见表2。
图1 Word 中的保存文件消息框
表2 MsgBox函数按钮及其返回值对照表
常数值按钮
vbOK 1 确定
vbCancel 2 取消
vbAbort 3 终止
vbRetry 4 重试
vbIgnore 5 忽略
vbYes 6 是
vbNo 7 否
后续程序可根据变量不同的返回值编写程序代码,以完成相应的任务。
例1 MsgBox函数应用举例。以前面任何一个例题为例,当单击窗体的“关闭”按钮时程序不会立即结束运行,而是给用户一个确认信息提示,如图2所示。
分析:在窗体的Form_QueryUnload事件过程中有Cancel和UnloadMode两个参数,可以通过Cancel的值来决定窗体是否退出。当Cancel值为0时正常退出,非0值时取消退出。
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
x = MsgBox("确认要结束程序吗?", vbQuestion + vbYesNo + 256, "确认退出") If x = vbYes Then '单击是(Y)按纽
Cancel = 0
Else
Cancel = 1 '单击否(N)按纽
End If
End Sub
将这段代码加到你任何一个程序代码中,当单击窗体关闭按
钮时,就可以选择是否退出了。
图2 MsgBox函数举例有时,程序中只需要用MsgBox函数向用户提供一个信息,
并不需要返回值,这种情况只需一个“确定”按钮。VB中对不需要返回值的MsgBox函数调用格式如下:
MsgBox 提示[,按钮][,标题]
这种方式在简单的程序设计中可以做为输出结果的有效方法,更多的是在调试程序时用以检查程序的运行情况。
第2章已经学习了VB系统常数,通过MsgBox函数的学习,应进一步加深对系统常数作用的理解。从以上两个表中可以看到,MsgBox函数按钮的取值很多,如果全部按直接常数来记忆就容易混淆,而记忆系统常数就要容易得多,例如记住系统常量“vbYesNoCancel”就要比记忆直接常数“3”容易,同样,在返回值中,记住“vbNo”比记“7”要容易得多。