课题十八  时钟控件、鼠标与键盘事件
【课时安排】:2学时
【教学方法与教学手段】:采用一体化教学,案例分析法。
【教学环境】:装有Visual Basic 6.0程序设计软件和广播教学软件的电脑(1台/人)。
【教学重点】:
1、时钟控件的属性和事件。
2、鼠标与键盘事件。
【教学难点】:vb开始按钮代码
时钟控件、鼠标与键盘事件
【教学过程】:
一、复习旧课
1、如何设置列表框控件的属性?
2、如何设置组合框控件的事件?
二、新课导入
在VB程序设计中,时钟控件主要用于在程序中监视和控制事件进程。VB应哟功能程序能够响应多种鼠标事件和键盘事件。
三、新课讲授   
(一)时钟控件
1. 时钟控件的属性
1)Enabled属性
    该属性设定时钟是否有效,它是一个逻辑值,其中:
      True:使时钟控件有效,开始有效计时,到达计时则触发Timer事件。
        False:停止时钟控件工作,不再触发Timer事件。
2)Interval(时间间隔)属性
    该属性用于设定时钟控件触发事件的时间间隔,单位为毫秒(0.001秒)。如果希望每0.5s产生一个计时器事件,那么Interval 属性值应设为500。若Interval属性设置为0,则Timer无效。
2.时钟控件的事件
在开启了时钟控件并且每当达到Interval属性规定的时间间隔时,就会触发时钟控件的Timer事件。
3.时钟控件的使用
    当某一事件发生(如一个按钮被按下等)时设置时钟控件的Enabled为True,这时,时钟控件开始计时,当到达Interval属性的值时,就会触发Timer事件中编制的处理程序。
【例11-9】见实验教程P136,倒计时显示,每隔1秒变化一次系统时间和到计时一次,程序界
面设计如下图。同时在窗体上显示当前系统时间。
时钟失效的状态
时钟有效的状态
程序的设计界面
分析:在窗体上添加三个标签,;第1个标签(label1)标题文字为“当前时间”,将第2个标签(label2标题文字清空。第3个(label3)标签caption设置为50,forecolor属性值设置为红、宋体、72号字添加一个时钟控件,Interval属性设置为1000,enabled属性值为false;最后添加一个命令按钮,单击该按钮触发Timer事件。
答案:DC
(二)鼠标事件 
MouseMove:每当鼠标指针移动到屏幕新位置时发生。
MouseDown:按下任意鼠标键按钮时发生。
MouseUp:释放任意鼠标键按钮时发生。
    MouseMove、MouseDown 和MouseUp3个事件过程的语法格式如下:
Sub 对象名_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Sub 对象名_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Sub 对象名_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    说明:
(1)对象名可以是窗体对象和大多数可视控件。
(2)Button参数表示按下或松开的是鼠标的哪个按键。当按下或松开鼠标的不同按键,得到的值是不同的。图给出了Button参数所对应的二进制数的取值,其中低3位L、R、M分别表示鼠标左键、右键和中间按键的状态,相应二进制位为0时表示未按下鼠标键,为1时表示按下了对应鼠标键。因此,按下左键,Button参数的值为001(十进制1);按下右键,Button参数的值为010(十进制2);按下中间键,Button参数的值为100(十进制4)。
(3)Shift参数表示在Button参数指定的按钮被按下或松开的情况下,键盘的Shift、Ctrl和Alt键的状态,通过该参数可以处理鼠标与键盘的组合操作。与上述Button参数类似,Shift参数也对应着二进制数的低3位,如图所示,其中低3位S、C、A分别表示Shift、Ctrl与Alt键的状态,相应二进制位为0时表示未按下对应键,为1时表示按下了对应键。
(4)x与y 为鼠标指针的位置,通过x和y参数返回一个指定鼠标指针当前位置的数,鼠标指针的位置使用该对象的坐标系统表示。
(三)键盘事件 
在Visual Basic中,提供了KeyPress、KeyDown、KeyUp三种键盘事件,窗体和接收键盘输入的控件都能识别这三种事件。
    1.KeyPress事件
    当用户按下和松开一个会产生ASCII码的键时将触发KeyPress事件。但是,并不是按下键盘上的任意一个键都会引发KeyPress事件,KeyPress事件只对会产生ASCII码的按键有反应,包括数字键、大小写字母键、Enter、Esc、Tab、Backspace等键。有些功能键、编辑键和定位键(比如方向键↑、↓、←、→)并不产生ASCII码,这样的键不会触发KeyPress事件。将keyascii改为0时可取消击键。
    KeyPress事件过程的语法格式是:
      Sub 对象名_KeyPress (KeyAscii As Integer)
其中对象名是指窗体或可以接收键盘输入的控件对象名,KeyAscii参数为与按键对应的ASCII码值。
KeyPress事件过程接收到的是用户通过键盘键入字符的ASCII码值。例如,当键盘处于小写状态,用户在键盘按a键时,KeyAscii参数值为97;当键盘处于大写状态,用户在键盘按A键时,KeyAscii参数值为65。为此,可以通过对键入字符ASCII码值的判断,决定做怎
样的操作。
    有时候在进行类似用户名、密码的文本框输入中,习惯于输入完内容后直接按回车键执行后面的操作,而不必每次还要再用鼠标点击命令按钮。此时,就可以在文本框的KeyPress事件过程中,对是否按下了回车键进行判断,如果按下了回车键(ASCII码值为13),则直接调用相应的命令按钮过程。具体的形式如下:
    Private Sub Text1_KeyPress(KeyAscii As Integer)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。