加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

vb窗体所有事件

(2011-10-13 16:55:49)
标签:

教育

分类: VB编程笔记

 

(1)Click 事件
在程序运行时单击窗体内的某个位置,Visual Basic将调用窗体的Form_Click事件。如果单击的是窗体内的控件,则只能调用相应控件的Click事件。
Click事件:标题栏显示“鼠标单击”,窗体显示"欢迎使用VB"

Private Sub Form_Click()
Caption = "鼠标单击"
Print "欢迎使用VB"
End Sub
(2)DblClick 事件
程序运行时双击窗体内的某个位置,就触发了两个事件,第一次按动鼠标时,触发Click事件,第二次产生DblClick事件。
DblClick 事件:标题栏显示“双击窗体” ,清除背景图。
Private Sub Form_DblClick()
Caption = "鼠标双击"
Picture = LoadPicture("")
Print "结束使用VB"

End Sub

(3) Initialize初始化事件 Load事件
在程序运行时,当窗体被装入工作区时开始为Initialize之后才触发它的Load事件。所以该事件通常用来在启动应用程序时,对控件属性和变量初始化

Private Sub Form_Load()
Caption = "装入窗体"
Picture = LoadPicture ( App.Path + "\window.jpg")
FontSize = 48
FontName = "隶书"
Print "装入窗体"
End Sub

(4) Unload事件
卸载窗体时触发该事件。


(5) Resize事件
当窗体大小发生改变时,将触发一个Resize事件。


6)Activate Deactivate事件

Activate    当一个对象成为活动窗口时发生。   
Deactivate   当一个
对象变为非活动(Deactivate)事件当在程序运行过程中,一个窗体变为非活动窗体时,则产生该事件  

7)MouseDown事件:按下鼠标任意键时产生

8)MouseMove事件:按下鼠标任意键,并移动鼠标时产生。

9)MouseUp事件:放开鼠标任意键时产生。

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

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

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

由上可见,上述3个事件的参数都是一样的,说明如下:

Button参数:表示按下的鼠标是哪一个键。1表示按下鼠标左键,2表示按下鼠标右键,4表示按下鼠标的中间键。   Shift参数:是一个整数值,其取值的含义见   vb窗体所有事件(2)表4-2

XY参数:表示鼠标光标所在的坐标值。

10DragDrop事件:鼠标点住某一对象并拖动,直到放开鼠标键时才发生该事件,在拖放过程中,不发生DragDrop事件。

l         KeyDown事件:按下键盘上的任意键

l         KeyUp事件:释放键盘的任意键

l         KeyPress事件:按下对应某ASCII字符的键

11KeyDown事件和KeyUp事件

按下键盘上的任意一个键,就会引发当前具有焦点的对象的KeyDown事件。释放时,则会引发该对象的KeyUp事件。

以窗体为例,KeyDown事件和KeyUp事件的语法如下:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

   Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

Keycode参数

KeyCode参数是一个整数,返回所按键的键码值。键码值是以“键”为准。例如,由于大写字母和小写字母使用同一键,因此“A”和“a”的键码值是相同的。又如大键盘上的数字“1和小建盘上的数字“1,虽然是同一数字,但由于键不同,它们的键码值也不相同。常用键的键码值如表4-1所示:

4-1 常用键的键码值

http://hiphotos.baidu.com/huanhuanxiaozhua/pic/item/2da89e583b17d0ad810a1864.jpg

 

Shift参数

Shift参数是一个整数值,返回ShiftCtrlAlt的状态。只有检查此状态才能判断输入的是大写还是小写字母。

Shift参数用来判断是否按下了键盘上的ShiftCtrlAlt,或这3个键的任意组合,其对应的关系如表4-2所示:

4-2 Shift的取值和ShiftCtrlAlt组合状态的对应关系

http://hiphotos.baidu.com/huanhuanxiaozhua/pic/item/30e176db9f3cee4ad1164e7c.jpg

 

 

下面的代码将测试你当前按下的键,并通过消息框告诉你。

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

Dim ShiftKey As Integer

ShiftKey = Shift And 7   '7对应为1+2+4

Select Case ShiftKey

    Case 1 'VbShiftMask

      MsgBox "You pressed the Shift key."

    Case 2 'VbCtrlMask

      MsgBox "You pressed the Ctrl key."

    Case 4 'VbAltMask

      MsgBox "You pressed the Alt key."

End Select

End Sub

 

12KeyPress事件

按下键盘上与ASCII字符对应的键时,触发KeyPress事件。KeyPress事件能识别的ASCII字符包括:字母键、数字键、标点符号键以及Enter键、Tab键和Backspace键。也就是说,在键盘上除了按这些键以外,按其它键不会引发KeyPress事件。

ASCII码值是以按键上的字符为准。同一按键上的字符有大小之分,所以按下同一个键时,ASCII码值是不一样的。例如,“A”和“a”的ASCII码值不一样。

以窗体为例,KeyPress事件的语法是:

Private Sub Form_KeyPress (KeyAscii As Integer)

    语句组

End Sub

参数KeyAscii是一个整数,返回所按键的ASCII码值。借助字符的ASCII码值来判断用户按下的是哪一个键。

常用键的键码值和ASCII码值分别如表4-3所示:

4-3 常用键的ASCII码值

http://hiphotos.baidu.com/huanhuanxiaozhua/pic/item/6413f900904986abe850cd76.jpg

 

 

   如果你想知道键盘上各个键的ASCII值,可在文本框的keyPress事件下编写如下代码。运行程序,当焦点位于该文本框上时,按下希望了解的键,消息框中就会显示所按键的ASCII值。

Private Sub Text1_KeyPress(KeyAscii As Integer)

MsgBox KeyAscii

End Sub

当敲击一个有ASCII码值的键时,会同时引发这三个事件,它们发生的顺序如下:

    KeyDown事件KeyPress事件KeyUp事件

 

Intialize 事件之后发生Load 事件

Activate 事件之后发生 GotFocus 事件

Unload

LostFocus 事件之后发生 Deactivate事件

其余事件详细参照此网页

http://residence.educities.edu.tw/vbtester/web_image/obj_events.htm

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有