如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
9.1.1KeyPress事件对象的KeyPress事件过程的一般格式为:PrivateSubObject_KeyPress(KeyAsciiAsInteger)语句块EndSub如果对象是控件数组中的一个,则KeyPress格式变为:PrivateSubObject_KeyPress(IndexAsInteger,KeyAsciiAsInteger)语句块EndSub例如:利用KeyPress事件对键盘输入的值取舍PrivateSubTxtUCase_KeyPress(KeyAsciiAsInteger)IfKeyAscii<65OrKeyAscii>91ThenBeepKeyAscii=0EndIfEndSub例如:利用KeyPress事件实现密码或口令的验证注意:①参数KeyCode是按键的键号,Shift是三个转换键的状态,包括Alt、Ctrl和Shift,其值0~7AltCtrlShift000111②不能显示的功能键和转换键盘,则只会触发KeyDown事件,不会触发KeyPress事件③大部分的按键在VB中都定义了常量,例如F1键的常量是vbKeyF1,Tab键的常量是vbKeyTab,Home键的常量是vbKeyHomePrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)SelectCaseKeyCodeCasevbKeyF1:Print“按下”&ShiftStatus(Shift)&“+功能键F1"CasevbKeyHome:Print“按下”&ShiftStatus(Shift)&“+功能键Home"CasevbKeyPageUp:Print“按下”&ShiftStatus(Shift)&“+功能键PageUp"EndSelectEndSubFunctionShiftStatus(ShiftAsInteger)AsStringSelectCaseShiftCase0:s=""Case1:s="Shift"Case2:s="Ctrl"Case3:s="Shift+Ctrl"Case4:s="Alt"Case5:s="Shift+Alt"Case6:s="Ctrl+Alt"Case7:s="Shift+Ctrl+Alt"EndSelectShiftStatus=sEndFunction注意:①默认情况下,窗体上控件的键盘事件优先于窗体的键盘事件,因此在发生键盘事件时,总是先激活控件的键盘事件。如果希望窗体先接收键盘事件,则必须把窗体的KeyPreview属性设置为True,否则不能激活窗体的键盘事件②在键盘事件可以对控制键进行处理,比如光标键,以起到对程序进行控制的作用,即没有鼠标的情况下也可对窗体上的对象进行调整例如:直接按光标键时移动图片的位置,按下Shift键再按光标键时放缩图片,按Shift+Ctrl键时复位图片的位置及大小先将窗体的KeyPreview属性设置为True9.2.1鼠标事件A:单击(Click)和双击(DblClidk)事件B:鼠标键按下(MouseDown)事件和松开鼠标键(MouseUp)事件PrivateSubObject_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)语句块EndSubPrivateSubObject_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)语句块EndSub当鼠标光标从某个对象上移过时,触发移动鼠标光标(MouseMove)事件,格式为:PrivateSubObject_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)语句块EndSub对象为控件数组时,会有一个参数(Index)各参数意义:1)鼠标键(Button)鼠标都是有两个键,少部分三个键,这样可出现8种按键状态但Windows鼠标驱动程序不支持中间键,且两个鼠标键不可能是严格的同时被按下,所以Button参数的取值只有3种000,001,0102)转换键(Shift)按下、松开鼠标键和移动鼠标时三个转换键的状态,三个转换键的状态和Shift参数的值与键盘事件的完全一样3)鼠标位置(X和Y)鼠标指针在接收鼠标事件的窗体或控件上的位置坐标,不需要用户设置,随鼠标光标的移动而变化9.2.2鼠标的光标形状鼠标光标的形状通过对象的MousePointer属性来设置MousePointer属