2.7 Visual Basic的输出机制
作为输出的对象,Visual Basic提供了标签,文本框,窗体,图片框(Picture Box)等用于输出,而且Visual Basic里也有一堆命令、属性涉及信息的输出,较常用的有:MsgBox函数,Print方法,Cls方法,Tab函数,Format函数,FontName,FontSize,FontBold,FontItalic,FontStrikethru,FontUnderline属性,CurrentX,CurrentY属性等。
1. 通过MsgBox函数输出
了解Windows应用程序的人都知道当用户操作错误时,应用程序往往打出一个消息框来提示用户的错误,象这样:
Dim Action As Integer
Action = MsgBox("单击确定键将引爆此计算机!", vbYesNo + vbCritical + vbDefaultButton2, "警告!")
If Action = 6 Then Explode
这个功能在Visual Basic里是通过MsgBox函数来实现的,这样程序员就不必自己去画一个消息框了。语法是:
Action = MsgBox (msg, type, title)
其中,msg是消息的内容,是一个字符串型的变量,type及title参数是可以省略的,type参数指定显示的按钮是什么及使用什么样的图标(这个参数往往让新程序员思考几分钟),title参数指定消息框的标题。type参数的含义是:
数值 |
符号常量 |
意义 |
0 |
vbOKOnly |
只显示 Ok 按钮 |
1 |
vbOKCancel |
显示 Ok Cancel 按钮 |
2 |
vbAbortRetryIgnore |
显示 Abor Retry Ignore 按钮 |
3 |
vbYesNoCancel |
显示 Yes No Cancel 按钮 |
4 |
vbYesNo |
显示 Yes No 按钮 |
5 |
vbRetryCancel |
显示 Retry Cancel 按钮 |
16 |
vbCritical |
Stop Sign对极其重要的问题提醒用户 |
32 |
vbQuestion |
Question Mark增亮没有危险的问题 |
48 |
vbExclamation |
Exclamation Mark强调警告用户必须知道的事情 |
64 |
vbInformation |
Information Mark可以使乏味的信息变得有趣 |
0 |
vbDefaultButton1 |
第一个按钮缺省 |
256 |
vbDefaultButton2 |
第二个按钮缺省 |
512 |
vbDefaultButton3 |
第三个按钮缺省 |
例如:Action = MsgBox (“Are you girl?”, vbYesNo + vbQuestion, “Question”)。使用这个函数时Visual Basic将产生一个标题为Question,具有问号和Yes,No按钮的消息框。作为一个函数,本质上还是要返回值的,MsgBox的返回值确定了用户的选择,程序可根据返回值做出相应的动作。
返回值 |
含义 |
返回值 |
含义 |
1 |
选择 Ok 按钮 |
5 |
选择 Ignore 按钮 |
2 |
选择 Cancel 按钮 |
6 |
选择 Yes 按钮 |
3 |
选择 Abort 按钮 |
7 |
选择 No 按钮 |
4 |
选择 Retry 按钮 |
|
|
2. Print方法,Cls方法,Tab函数
(1) Print方法
Print 方法的语法是:object. Print expressionlist
object表示Print作用的对象,比如是Form或者是Picture Box,object是可以省略的,省略时的Print往往在窗体上输出。expressionlist是输出的内容,允许许多项数据的输出,在数据间可以加入“,”或”;”。加入分号将使下一数据项紧挨着上一数据项输出。而加入逗号,则Visual Basic将下一数据项在下一打印区输出,其实就是空了几个空格后再输出。两个打印区之间有14个字符的宽度,其实这也很难衡量,比如14个“W”所占的宽度大概是14个“i”所占宽度的三倍多。幸好中国日本之类的方块字所占的宽度基本上是一样的,所以较好处理一些。
(2) Tab函数
Tab函数只用在Print方法中,它用来移动下一个字符到打印位置,这将省去数空格的功夫。语法是:Tab (column)
Tab函数将Visual Basic自定义的14字符宽的打印区扔到一边,用自己的方式定义了新的灵活的打印区宽度。
(3) Cls方法
Cls也是一个古老的BASIC语句,原来它的作用总是把屏幕变成黑色,然后在左上角或左下角闪烁一个光标,Visual Basic里它的作用是清除绘图语句和Print语句产生的文字和图形。
语法是:object. Cls
object指清除的对象,可以是Form或Picture Box。如果object省略,通常Visual Basic都把当前的窗口作为Cls操作的对象。
3. Format函数
Format函数用于制定字符串或数字的输出格式。语法是:x = Format (expression,fmt)
expression是所输出的内容。fmt是指输出的格式,这是一个字符串型的变量,这一项若省略的话,那么Format函数将和Str函数的功能差不多。如:
语句 |
输出 |
Format (2, “0.00”) |
2.00 |
Format (.7, “0%”) |
70% |
Format (1140, “$#,##0”) |
$1,140 |
简单地,fmt
里的字符是这样的:
字符 |
意义 |
字符 |
意义 |
0 |
显示一数字,若此位置没有数字则补0 |
. |
小数点 |
# |
显示一数字,若此位置没有数字则不显示 |
, |
千位的分隔符 |
% |
数字乘以100并在右边加上”%”号 |
- + $ ( ) |
这些字出现在fmt里将原样打出 |
Format函数也可用来对时间进行输出。
fmt |
输出 |
fmt |
输出 |
m/d/yy |
8/16/96 |
h:mm:ss a/p |
10:41:29 p |
d-mmmm-yy |
16-August-96 |
h:mm |
22:41 |
d-mmmm |
16-August |
h:mm:ss |
22:41:29 |
mmmm-yy |
august-96 |
m/d/yy h:mm |
8/16/96 22:41 |
hh:mm AM/PM |
10:41 PM |
|
|
4. FontName,FontSize,FontBold,FontItalic,FontStrikethru,FontUnderline属性
很明显,这些属性都与字体有关,许多控件都有这些属性。通常它们在设计阶段可以双击font属性来设置,运行期间可以直接设置。它们的意义是:
FontName |
字体的名称 |
FontItalic |
字体是否用斜体显示 |
FontSize |
字体的大小 |
FontStrikethru |
字体是否有删除线 |
FontBold |
字体是否用粗体显示 |
FontUnderline |
字体是否有下划线 |
如:Text1.FontBold = True,将把Text1文本框的FontBold属性设为True。
5. 窗体,图片框的CurrentX,CurrentY属性
这两个不可见的属性确定了下一次打印或绘图的水平及垂直坐标。如上面讲的Print方法,当expression后使用 “,” 时,Visual Basic将改变CurrentX,CurrentY值为下一打印区域开始的值,于是,输出便指向了下一个打印区域。而Cls方法将把操作对象的CurrentX,CurrentY的值设为(0,0)。
6. 通过标签控件输出
标签控件的特点是运行时不能直接修改它,通常一个文本框旁边都有一个标签用来标识文本框。标签的Autosize和WordWrap属性是一对有用且令人困惑的属性。
|