背景:                 
[本书目录] [图书首页] [本书讨论区]  
链接地址:http://www.17xie.com/read-3357.html    注册17xie 一起来写书 实现您的出书梦想!

ShiftCtrlAlt等键就不能产生Ascii码,所以就不会引发KeyPress事件,而数字、大小写字母等可打印的键盘字符、EnterBackSpaceEscTab等都可以。

【实例3.6  编写程序,实现对于用户在文本框中输入的字母,不管大小写,始终以大写显示在文本框中。

打开代码编辑窗口,在其中输入如下代码:

Private Sub Text1_KeyPress(KeyAscii As Integer)

    If KeyAscii >= 97 And KeyAscii <= 122 Then

        KeyAscii = KeyAscii – 32

    End If

End Sub

程序运行后,在文本框中输入大写字母或小写字母时,显示的都是大写字母,如图3-14所示。

3-14  程序运行结果

2.鼠标事件

鼠标是目前图形界面平台下应用最广泛的输入控制设备。前面曾经介绍过应用于对象的鼠标的单击和双击事件,其实VB的对象除了能识别这两个鼠标事件外,还能识别鼠标的MouseDownMouseMoveMouseUp事件。鼠标事件适用于窗体、文本框、命令按钮、选项按钮、复选框、列表框、图片框、标签和框架等对象。

1MouseDownMouseUp事件

格式:

Private Sub对象名_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Private Sub对象名_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

2MouseMove事件

格式:

Private Sub 对象名_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

MouseDownMouseUpMouseMove事件中的参数都一样,这里统一进行说明:

l          ShiftXY参数的含义同键盘事件。

l          Button参数值是指此时按下或释放了哪个鼠标键,该参数是一个整数。对于MouseMove事件来说,button参数是指所有鼠标按键当前的状态。一个MouseMove事件可指示某些、全部或没有一个按钮被按下。对于MouseDownMouseUp事件来说,button参数在每个事件精确地指示一个按键,即不能检查两个或三个键同时被按下或松开的情况,因此取值只能是下表中的前三种。参数具体取值如表3-13所示。

3-13  Button参数取值

十进制

二进制

转换键按下情况

0

000

没有按下任何鼠标键

1

001

鼠标左键被按下

2

010

鼠标右键被按下

3

011

鼠标左、右键同时被按下

4

100

鼠标中间键被按下

5

101

鼠标中间、左键同时被按下

6

110

鼠标中间、右键同时被按下

7

111

鼠标三键同时被按下

l         
MouseDown
是三种鼠标事件中最常使用的事件。例如,在运行时可用它调整控件在窗体上的位置,也可用它实现某些图形效果。按下鼠标按钮时就可触发此事件。

l          MouseMove事件伴随鼠标指针在对象间移动时连续不断地产生。除非有另一个对象捕获了鼠标,否则,当鼠标位置在对象的边界范围内时该对象就能接收MouseMove事件。

【实例3.7  利用上述鼠标事件,在窗体上绘制图形。

要求:单击鼠标即开始绘制,并根据鼠标移动的位置进行绘制,释放鼠标则停止绘制。打开代码编辑窗口,在其中输入如下代码:

Dim draw As Boolean '设置绘制状态标志

Private Sub Form_Load()

    DrawWidth = 15 '设置绘制笔刷的宽度

    ForeColor = RGB(0, 0, 255) '设置绘制的颜色

End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

    draw = True '表示开始下笔绘制

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

    If draw Then

        PSet (X, Y) '根据目前鼠标移动的位置绘制点

    End If

End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

    draw = False '表示停笔

End Sub

程序运行后结果如图3-15所示。

3-15  程序运行结果

3.3.2  数据的输出

1Print方法

VB中,可以使用Print方法实现数据输出。Print方法除了可以在窗体上输入文本字符串或表达式的值外,还可以在其他图形对象或打印机上输出信息。

格式:[对象名.]Print[表达式表]

说明:

1)如果使用Print方法将数据输出到窗体,应该先使用Show方法,否则输入数据将不会显示出来。

2)格式中的【对象名】可以是窗体、图片框或打印机。如果省略,则在当前窗体上直接输出。

3)表达式表是一个或多个表示式,如果是数值表达式,则输出表达式的值;如果是字符串表达式,则按原样输出。输出数据时,数值数据前面有一个符号位,后面有一个空格,而字符串前后都没有空格。

4)当输出多个表达式时,各表达式之间用分隔符逗号【,】或分号【;】隔开。

l          如果使用逗号分隔符,则各输出项按标准输出格式显示。

l          如果使用分号分隔符,则按紧凑格式输出。

【实例3.8  Print方法在窗体输出文本信息。

打开代码编辑窗口,在其中输入如下代码:

Private Sub Form_Click()

    Print

    Print "3*5-2="; 3 * 5 - 2

    Print

    Print "好好学习"

    Print , "Visual Basic"

    Print , , "编程技术"

    Print

    Print "只要坚持不懈",

    Print "你一定能称为VB编程高手"

End Sub

程序运行后,单击窗体的结果如图3-16所示。

3-16  程序运行结果

2Tab函数和Spc函数

VB还提供了两个与Print方法有关的函数:TabSpc

1Tab函数

Print方法中,可以使用Tab函数对输出进行定位。

格式:Tab(n);

说明:

l          n为数值表达式,其值为一整数。Tab函数把显示或打印位置移到由参数n指定的列数,从此列开始输出数据。要输出的内容放在Tab函数后面,并用分号隔开。

l          当在一个Print方法中有多个Tab函数时,每个Tab函数对应因各输出项,各输出项之间用分号隔开。

2Spc函数

Print方法中,还可以使用Spc函数来对输出进行定位,与Tab函数的区别是:Spc函数提供若干个空格。

格式:Spc(n);

说明:

l          n为数值表达式,其值为一整数。表示在显示或打印下一个表示式之前插入的空格数。

l          Spc函数与输出项之间用分号隔开。

3.4  使用对话框

为了便于和用户交互,VB提供了InputBoxMsgBox两个函数,简化界面设计。其中:

l          InputBox(输入框):用来输入信息。

l          MsgBox(消息框):用来显示信息。

下面分别进行讲解。

3.4.1  InputBox函数

InputBox函数用来接受通过键盘输入的数据,并返回在对话框中输入的信息。在调用InputBox函数时,屏幕上将产生一个带有提示信息的对话框,光标在输入对话框底部的输入文本框中闪烁,等待用户输入数据。按回车键或用鼠标单击【确定】或【OK】按钮,即可把输入文本框中输入的数据以字符串形式赋给变量;按Esc键或单击【取消】或【Cancel】按钮,则返回0值或空串。

格式:Var=InputBox(Prompt[,title][,defsult][,x,y][,helpfile,context])

说明:

1Var可以是变体变量或字符串型变量,也可以是数值型变量(若输入内容不可转换成数值型数据,将会产生运行错误)。

2Prompt:提示用的文字信息,字符串类型,其长度不能超过1024个字符;该参数不可缺省。在对话框内显示Prompt提示文字信息时,可以自动换行。若想按自己的要求换行,则可采用插入回车换行符,即Chr(13)+Chr(10)vbCrLf来实现。

3title:对话框标题(字符型),缺省时,为空白。

4default:显示在用户编辑框中的缺省值(字符型),缺省时,返回空值。

5x,y:对话框在屏幕上显示时的位置,单位是特维,(x,y)是对话框左上角点的坐标。

6helpfile,context:帮助文件名及帮助主题号。有本选项时,在对话框中自动增加一个帮助按钮。

3.4.2  MsgBox函数和语句

MsgBox函数以信息框的形式用于向用户发布提示信息,并要求用户做出必要的响应。如图3-17所示。

3-17  MsgBox对话框

MsgBox函数的格式:Var=MsgBox(Prompt[,button][,title][,helpfile,context])

说明:

1Prompttitlehelpfile,context参数的含义同InputBox函数。

2button:这是一个由3个数值常量组成的式子,形式为b1+b2+b3,用于决定信息框中按钮的个数和类型以及出现在信息框中的图标类型,各个参量的可选值及其功能见表

字数:5449    最后更新:1年以前 [09-06 00:26]我爱钱 修改
本页编辑者:我爱钱  
[前一页]:第三章  [后一页]:第三章
[在本页中加入书签] [收藏本书] [推荐本书]
  17xie论坛 > 本书讨论区 > 本页评论   (共0条)
发表评论

用户名称 匿名发表
评论内容
验证码

关于我们 | 版权声明 | 免责声明 | 诚聘英才 | 联系我们 | 合作伙伴 | 友情链接 | 广告合作 | 提交意见
Copyright © 2007 17xie.com 互联网协同写书平台 京ICP备08002671号