Click 点击(鼠标点击发生的事件)
象鼠标移动、双击、右击、拖动、键盘按下,这些用户对计算机的常用操作都是        事件
一个控件执行的任务就是                                                        方法
鼠标事件
  Cilck:用户单击鼠标键时发生
  DbLClick:用户双击鼠标键时发生
  MouseDown:用户释放鼠标键时发生
  MouseMove:移动鼠标时发生
键盘事件
  KeyDown:在键按下时触发。(可获得一个KeyCode值)
  KeyUp:在键弹起时触发。(可获得一个KeyCode值)
  KeyPress:在键盘按下再弹起时发生。(它可获得KeyAscii值)
键盘上的大部分键与计算机ASCII码有对应的值
我们按键盘“1”触发KeyDown KeyUp KeyPress(键盘事件)电脑只关注KeyPress事件,获得一个KeyAscii值(这个值=49)接着就执行任务(方法)。
“A”,KeyAscii为65;“Enter”,KeyAscii为13。 当我们在KeyPress事件中将KeyAscii的值改为0后,就等于禁止键入
功能键(没有KeyAscii值而是KeyCode值) 当用户击键后 (同上)发生KEyDown和KeyUp事件,获得KeyCode值
键盘Ctrl,Shift,Alt与一些别的键组合
Shift参数:
  未按Ctrl,Shift,Alt三键时,Shift值为0;
  当按了“Shift”键时,Shift值为1;
  当按了 “Ctrl”键时,Shift值为2;
  当按了“Alt”键时,Shift值为4;
  若同时按“Shift”键与“Ctrl”键 ,则Shift值为这二个键的Shift值之和:1+2=3。
  依此类推,若同时按Ctrl、Shift、Alt键,则Shift值应为7。
在MouseDown与MouseUp这两个事件中,也有Shift参数
事件 是指对象对于外部动作的响应,当对象发生了某个事件,就会执行与此对象的这个事件相应的代码,这段代码被称为“事件过程”。事件过程的命名格式为: Private Sub 控件名_事件名()
mousemove是什么键5 在按了“ESC”键后,要让程序执行CommandButton_Click事件中的代码,应将CommandButton的什么属性设为True ?
C Cancel
6 在按了回车键后,要让程序执行CommandButton_Click事件中的代码,应将CommandButton的什么属性设为True?
B Default
鼠标事件 主要有以下几种:   
Click:单击事件,即单击鼠标时发生的事件。   
DblClick:双击事件,即双击鼠标时发生的事件。   
MouseDown:鼠标按下时发生的事件。   
MouseUp:鼠标抬起时发生的事件。   
MouseMove:鼠标移动时发生的事件,对某控件的此事件进行编程,则当鼠标移过此控件时就会触发此事件,执行其相应代码。   
鼠标事件的发生顺序是:   
(1)首先发生的是MouseMove事件,当鼠标移动时,将会连续触发MoouseMove事件。   
(2)当鼠标按下时发生MouseDown事件。   
(3)鼠标松开
时发生MouseUp事件。   
(4)如果按住的是鼠标左键,则Click事件在MouseUp之后发生。   
双击鼠标时事件发生顺序是:   (1)当鼠标按下时发生MouseDown事件。   (2)鼠标松开时发生MouseUp事件。   (3)单击鼠标发生Click事件。   (4)双击鼠标发生DblClick事件。   (5)完成鼠标双击时发生MouseUp事件。   
在上面所列出的这些事件中,最常用到的就是Click事件和DblClcik事件,MouseMove和 douseUp事件不太经常用,一般用在需要对鼠标进行处理的地方。如:对于最常见的命令按钮,通常情况下我们使用Click事件;
而在进行画图的时候, 例如画一条直线,必须先按住鼠标左键,然后拖动鼠标,再松开鼠标。在此过程中,首先触发MouseDown事件,我们可以在此事件中记录鼠标的开始位置, 再对MouseUp事件进行编程,以记录鼠标的结束位置;其中还要对MouseMoove事件进行编程,以在移动过程中进行处理画图操作,而不是 Click或DblClick事件。   
鼠标的单击事件定义如下:   
Sub Click()   
End Sub   
双击事件定义如下:   
Sub DblClick()   
End Sub   
对于MouseDown和MouseUp事件,它们的定义要复杂的多。对于MouseUp事件,其定义如下:   
Private Sub Labell _MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)   End S   
在上面的参数中,Button As Integer定义了参数Button,该参数是用于确定按下的是鼠标的左键,右键,还是中键,其取值如下表所示。   
常量            数值    说明   
VbleftButton    1    按下鼠标左键   
VbRightButton    2    按下鼠标右键   
VbMiddleButton  4    按下鼠标中键   
Shift As Integer定义整型参数Shift,该参数用于确定键盘上Shift键、Ctrl键、Alt 键是否被按下,其取值如下表所示。   
常量            数值    说明
VbShiftMask      1  按下Shift键
VbCtrlMask        2  按下Ctrl键
VbAltMask        4  按下Alt键
  要判断是哪个键被按下了,要由相应的程序代码来完成。如:   
Private Sub Labell MouseUp(Button AS Integer,Shift As Integer,X aS Sing , Y as Single)   If Button=2 Then   Msgbox“你按下去的是鼠标右键” End If   End Sub   此段代码在鼠标抬起时执行,程序中用If条件判断语句来判断究竟是哪个键被按   当Button=2成立时,即鼠标右键被按下,这时可以执行相应的操作。   
Private Sub Labell MouseUp(Button As Integer,Shift As Integer,X as Sin2 Single)   If Shift=2 Then   Msgbox“单击鼠标时Ctrl键被按下”   EndIf   End Sub   这段代码在执行过程中判断当鼠标抬起时键盘上哪个键被按了下去。如上表说明,当Shift值为2时
,表示Ctrl键被按了下去。 由上面的例子可以看出我们可以对鼠标进行一些判断,然后执行一些特殊操作,但用起来通常比较麻烦。   
键盘事件   
鼠标事件是由鼠标键的单击、双击、移动等操作时发生,键盘事件则是在键盘的某个键按下去时触发。除了鼠标事件外,通常需要对键盘事件进行编程。
键盘事件主要有以下几种:   
(1)KeyDown:当键盘上某键被按下去时发生。   
(2)KeyUp:键盘上的键抬起来时发生。   
(3)KeyPree:此下后和字符被显示出来之前发生。   
对于键盘事件,相对来说KeyDown事件和KeyUp事件使用比较少,通常情况下对KeyPress事件编程较多,因为此事件注重键盘被按下的是哪个键   KeyPress事件定义如下:   Private Sub Textl_KeyPress(KeyAscii As Integer)   End Sub   其中,参数KeyAscii被定义为整型变量,表示被按下去键的Ascii码,我们可以通过对变量KeyAscii值的判断来执行一些特殊操作。
例如要想实现在文本框中只能输人数字,不接受其它字符,可以编写如下代码:   
Private Sub Text1_KeyPress(KeyAscii As Integer)   If KeyAscii < 48 Or KeyAscii > 57 Then   KeyAscii = O   End If   
End Sub   此段代码表示:如果被按下去的键的Ascii码值不在48到57之间(即输入不是数字),则将KeyAssii值设置为零。从而不进行操作,文本框中并不存在输入的字符。   
(4) Change:Change事件在控件的内容发生改变时执行。如:当我们要做一个类似记事本程序的时候,用文本框控件作为内容编辑区,当文本框内容改变而 并未保存时,用户却在此时退出程序,我们希望程序能够给出提示。可以通过定义一个整型变量“IsChang",当其值为0时表示未存盘,其值为1时表示存 盘了,在文本框控件的change事件中输入如下代码:   
“IsChange=0"。在程序退出事件中对IsChange值进行判断,当值为0时就给予提示,否则退出程序。程序代码如下:   
Private Sub Textl_Change()   
IsChange=0   
End Sub   
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)   
If lsChange = 0 Then   MsgBox ("还未存盘,是否存盘"), VbOkCancle, "提示!"   
End If   
End Sub   此段代码用于程序退出时的判断,Form_QueryUnload事件表示程序退出时所执行的事件。   这里主要介绍了事件处理器,常见的属性与各种事件,在Windows应用程序中,我们经常要用到上面所介绍的属性与事件。   
焦点   在开发Windows程序时,有一个很重要的概念——焦点。所谓焦点,就是控件能够接受键盘输入的当前状态。只有具有焦点的控件,才能接受用户的键盘输 入;换一种说法也可以这样说,
当前状态下用户所有的键盘输入只能被具有焦点的控件所获得。需要注意的是,焦点只是在程序运行
时才有的概念,也就是说在设计 程序时,不能说某个控件具有焦点或不具有焦点。   焦点是对象接受用户鼠标操作或键盘操作的能力。当对象具有焦点时,才可以接受用户的操作。
例如,在有就几个文本框的窗体中,只有具有焦点的文本框才能接受用户的输入。   要使用某个控件获得焦点,可以有如下三种方法:   
(1)、使用键盘上的“Tab”键,将焦点移到相应的控件上。   
(2)、使用鼠标直接在相应的控件上单击就可以了。   
(3)、在程序代码中使用该控件的“SetFocus”方法。   对于绝大多数的控件,都具有“TabStop”属性和“Tablndex”属性。   其中,“TabStop”属性是用来设置是否允许 用户使用“Tab”键将焦点移到该控件上,默认情况下是允许的。“TabStop”属性有两个取值:“True”和“False”,若其值为“True” 时,允许使用“Tab”键将焦点移到该控件;否则,就不允许。但要注意,不管“TabStop'’属性的取值为“True”还是为“False”,使用鼠 标都可以将焦点转移到该控件。   “Iablndex”属性则是用来设置该控件的跳表顺序的。前面已经说过,使用“Tab”键可以将焦点从一个控件上转移到另一个控件上,在这个过程中就有 一个跳表顺序的问题。
也就是说,当用户第一次按下“Tab”键时,焦点将会移到哪一个控件上;第二次按下“Tab”键时,焦点又
会移到哪一个控件上等,这 个顺序就是跳表顺序。   在设计窗体时,跳表顺序是根据控件放人窗体的先后顺序来决定的。即第一个放人窗体的控件将最早获得焦点,以后每按一次“Tab”键,焦点就会转移到下一个放人窗体中的控件上。   在很多情况下,某些控件不需要使用“Tab”键将焦点移到该控件上或是不能根据控件放人窗体的先后顺序来决定跳表顺序,这时就需要设置“TabStop” 属性和“Tablndex'’属性了。“Tablndex”属性的取值是一个整数,从0开始依次类推,该属性的值小的将先获取焦点。   另外,还有两个与焦点相关的事件:“GotFocus”事件和“LostFocus”事件。当焦点从一个控件转移到另一个控件上时,前者即曾经拥有焦点的控件,将会发生“LostFocus”事件而后者即将会拥有焦点的控件,则会发 生“GotFocus”事件。   
以下是VB中的常见事件:   
change 对于滚动条来说,滑块位置改变;对于textbox来说,内容改变   
click 对象单击   
dblclick 对象双击   
dragdrop 鼠标拖动   dragover 鼠标拖过   
dropdown 鼠标键松开   
error 错误处理
gotfocus 获取焦点   itemcheck   
keydown 键盘按下   
keyup 键盘抬起   
keypress 键盘按键   
linkclose 网络连接关闭   
linkerror 网络连接错误   
linknotify   
linkopen   
oledragover   olegivefeedback   
olestartdrag   
pathchange   
patternchange   
reposition   
scroll   timer 定时器计时达到预定间隔   validate   
LostFocus 对象失去焦点   
Load 对象加载,比如form的加载   
MouseDown 鼠标按下   
MouseMove 鼠标移动   
MouseUP 鼠标抬起   OlecompleteDrag ole对象的拖动   
OleDragDrop ole对象的移动   
paint 绘画   QueryunLoad   Resize form或者控件大小重绘   
Terminate 线程,进程终止   
Unload 卸载