首页 vb键盘与鼠标事件过程优秀课件

vb键盘与鼠标事件过程优秀课件

举报
开通vip

vb键盘与鼠标事件过程优秀课件第11章键盘与鼠标事件过程第11章键盘与鼠标事件过程除了响应鼠标的单击(Click)或双击(DblClick)事件以外,VisualBasic应用程序还能响应多种鼠标事件和键盘事件。例如,窗体、图片框与图象控件都能检测鼠标指针的位置,并可判定其左、右键是否已按下,还能响应鼠标按钮与Shift、Ctrl或Alt键的各种组合。利用键盘事件可以编程响应多种键盘操作,也可以解释、处理ASCII字符。11.1键盘事件键盘事件是指能够响应各种按键操作的KeyDown、KeyUp及KeyPress事件,可以把编写响应击键事件的应...

vb键盘与鼠标事件过程优秀课件
第11章键盘与鼠标事件过程第11章键盘与鼠标事件过程除了响应鼠标的单击(Click)或双击(DblClick)事件以外,VisualBasic应用程序还能响应多种鼠标事件和键盘事件。例如,窗体、图片框与图象控件都能检测鼠标指针的位置,并可判定其左、右键是否已按下,还能响应鼠标按钮与Shift、Ctrl或Alt键的各种组合。利用键盘事件可以编程响应多种键盘操作,也可以解释、处理ASCII字符。11.1键盘事件键盘事件是指能够响应各种按键操作的KeyDown、KeyUp及KeyPress事件,可以把编写响应击键事件的应用程序看作是编写键盘处理器。键盘处理器可在控件级和窗体级这两个层次上工作。有了控件级(低级)处理器就可对特定控件编程。例如,可能希望将Textbox这个控件中的输入文本都转换成大写字符。而有了窗体级处理器就可使窗体首先响应击键事件,于是就可将焦点转换成窗体的控件并重复或启动事件。11.1.1KeyPress事件KeyPress事件当用户按下和松开一个ASCII字符键时发生。该事件被触发时,被按键的ASCII码将自动传递给事件过程的KeyAscii参数。在程序中,通过访问该参数,即可获知用户按下了哪一个键,并可识别字母的大小写。其语法格式为:PrivateSub对象名_KeyPress(keyasciiAsInteger)其中参数keyascii是被按下字符键的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 ASCII码。对它进行改变可给对象发送一个不同的字符。将keyascii改变为0时可取消击键,这样一来对象便接收不到字符。KeyPress事件可以引用任何可打印的键盘字符、来自标准字母表的字符或少数几个特殊字符之一的字符与〈Ctrl〉键的组合、〈Enter〉或〈Backspace〉键。【例11-1】可以显示按键及其ASCII码的程序(如图11-1)。图11-1KeyPress事件接受的按键程序的代码部分:复选框的Click事件代码:PrivateSubCheck1_Click()Text1.SetFocusEndSub文本(输入)框Text1的KeyPress事件代码:PrivateSubText1_KeyPress(KeyAsciiAsInteger)Text2.Text=KeyAsciiSelectCaseKeyAsciiCase0To7,9To12,14To26,28To31Text1.Text=""Text3.Text="Ctrl+"&Chr(64+KeyAscii)Case8Text3.Text="Ctrl+"&Chr(64+KeyAscii)&"或退格键"Case13Text1.Text=""Text3.Text="Ctrl+"&Chr(64+KeyAscii)&"或回车键"Case27Text1.Text=""Text3.Text="Ctrl+"&Chr(64+KeyAscii)&"或Esc键"CaseElseText3.Text=Chr(KeyAscii)EndSelectIfCheck1.Value=0ThenKeyAscii=0EndIfEndSub11.1.2KeyDown和KeyUp事件KeyDown和KeyUp事件是当一个对象具有焦点时按下或松开一个键时发生的。当控制焦点位于某对象上时,按下键盘中的任意一键,则会在该对象上触发产生KeyDown事件,当释放该键时,将触发产生KeyUp事件,之后产生KeyPress事件。其语法格式为:PrivateSub对象名_KeyDown(KeyCodeAsInteger,ShiftAsInteger)PrivateSub对象名_KeyUp(KeyCodeAsInteger,ShiftAsInteger)其中参数KeyCode参数项用于返回被按键的扫描代码。由于扫描码主要反映物理键位,因此通过该参数不能区分字母大小写。11.1.2KeyDown和KeyUp事件shift参数项返回一个整数,该整数相应于〈Shift〉、〈Ctrl〉和〈Alt〉键的状态。shift参数等于1、2和4分别表示〈Shift〉、〈Ctrl〉和〈Alt〉键被按下,而三数的部分和表示三个按钮部分地被同时按下。因此,可结合该参数项来判断输入字母的大小写。应当使用KeyDown和KeyUp事件过程来处理任何不被KeyPress识别的击键,诸如:功能键、编辑键、定位键以及任何这些键和键盘换档键的组合等。与KeyDown和KeyUp事件不同的是,KeyPress不显示键盘的物理状态,而只是传递一个字符。【例11-2】可以测试功能键与控制键的程序(如图11-2)。程序的代码部分:文本(输入)框Text1的Keydown事件代码:PrivateSubText1_Keydown(KeyCodeAsInteger,ShiftAsInteger)Text2.Text=Text2.Text&Str(KeyCode)&","IfKeyCode>111AndKeyCode<124ThenLabel1(2).Caption="你刚才按了功能键:"&"F"&Str(KeyCode-111)Label1(2).Visible=TrueElseLabel1(2).Visible=FalseEndIfCheck1.Value=IIf((ShiftAndvbShiftMask)>0,1,0)Check2.Value=IIf((ShiftAndvbCtrlMask)>0,1,0)Check3.Value=IIf((ShiftAndvbAltMask)>0,1,0)EndSub命令按钮(清除)Command1的Click事件代码:PrivateSubCommand1_Click()Text1.Text=""Text2.Text=""Text1.SetFocusEndSub图11-2测试功能键与控制键11.1.3使用KeyPreview属性KeyPreview属性返回或设置一个值,以决定是否在控件的键盘事件(KeyDown、KeyUp和KeyPress)之前激活窗体的键盘事件。其语法为:对象名.KeyPreview[=boolean]其中,Boolean是布尔表达式,指定如何接收事件:当取值为False(缺省值)时,活动控件接收键盘事件,而窗体不接收;当取值为True时,窗体先接收键盘事件,然后是活动控件接收事件。11.2鼠标事件在前面的例子中曾多次使用鼠标事件,即单击(Click)事件和双击(DblClick)事件,这些事件是通过快速按下并松开鼠标键而产生的。除此之外,VB还可以通过MouseDown、MouseUp、MouseMove事件使应用程序对鼠标位置及状态的变化作出响应(其中不包括拖放事件。其实,Click事件是由MouseDown和MouseUp组成,因此MouseDown和MouseUp是更基本的鼠标事件。11.2.1MouseDown和MouseUp事件MouseDown和MouseUp事件当按下(MouseDown)或者释放(MouseUp)鼠标按钮时发生。其语法为:PrivateSub对象名_MouseDown(buttonAsInteger,shiftAsInteger,xAsSingle,yAsSingle)PrivateSub对象名_MouseUp(buttonAsInteger,shiftAsInteger,xAsSingle,yAsSingle)其中:参数button返回一个整数,button参数的值分别等于1,2,和4时,相应于左按钮、右按钮以及中间按钮的动作。注意只能有一个按钮引起事件。参数shift返回一个整数,在button参数指定的按钮被按下或者被释放的情况下,该整数相应于Shift、Ctrl和Alt键的状态。11.2.1MouseDown和MouseUp事件MouseDown和MouseUp事件当按下(MouseDown)或者释放(MouseUp)鼠标按钮时发生。其语法为:PrivateSub对象名_MouseDown(buttonAsInteger,shiftAsInteger,xAsSingle,yAsSingle)PrivateSub对象名_MouseUp(buttonAsInteger,shiftAsInteger,xAsSingle,yAsSingle)参数x,y返回一个指定鼠标指针当前位置的数。x和y的值所表示的总是通过该对象ScaleHeight,ScaleWidth,ScaleLeft,和ScaleTop属性所建立的坐标系统的方式。11.2.2MouseMove事件MouseMove事件在移动鼠标时发生。其语法格式为:PrivateSub对象名_MouseMove(buttonAsInteger,shiftAsInteger,xAsSingle,yAsSingle)其中参数描述同MouseDown和MouseUp事件。MouseMove事件伴随鼠标指针在对象间移动时连续不断地产生。除非有另一个对象捕获了鼠标,否则,当鼠标位置在对象的边界范围内时该对象就能接收MouseMove事件。11.2.3自定义鼠标指针在VB中,可以通过属性设置来改变鼠标指针的形状。鼠标指针的改变可以告知用户诸多信息,例如,正在进行长时间的后台任务,调整某个控件或窗口的大小,某控件不支持拖放操作等等。1.MousePointer属性的设置MousePointer属性是一个整数,取值为0~15,可用MousePointer属性在16个预定义指针中任选一个。这些指针表示各种系统事件和过程,表11-1描述了各种指针及其在应用程序中的可能作用。表11-1MousePointer属性值的描述指针形状值常数描述0vbDefault(缺省值)形状由对象决定。1vbArrow箭头。2vbCrosshair十字线(crosshair指针)。3vbIbeamI型4vbIconPointer图标(矩形内的小矩形)。5vbSizePointer尺寸线(指向东、南、西和北四方向的箭头)。6vbSizeNESW右上-左下尺寸线(指向东北和西南方向的双箭头)。7vbSizeNS垂-直尺寸线(指向南和北的双箭头)。8vbSizeNWSE左上-右下尺寸线(指向东南和西北方向的双箭头)。9vbSizeWE水-平尺寸线(指向东和西两个方向的双箭头)。10vbUpArrow向上的箭头。11vbHourglass沙漏(表示等待状态)。12vbNoDrop不允许放下。13vbArrowHourglass箭头和沙漏。14vbArrowQuestion箭头和问号。15vbSizeAll四向尺寸线。99vbCustom通过MouseIcon属性所指定的自定义图标。2.图标和光标用自定义图标或光标可进一步改变应用程序的外观和功能。可以设置鼠标指针来显示自定义图标或光标,它们可以表示鼠标的状态及当前的输入位置。为使用自定义图标或光标,应设置MousePointer和MouseIcon属性。其中MouseIcon属性设置为自定义图标或光标文件,而MousePointer属性则设置成99-Custom。在将MousePointer属性设置成99-Custom时,如果未在MouseIcon上加载图标,则使用缺省的鼠标指针。同样,如果未将MousePointer属性设置成99-Custom,则将忽略MouseIcon的设置。11.2.4使用鼠标事件【例11-3】使用鼠标事件设计的画图小程序,如图11-3所示。图11-3小画板程序编写窗体Form1的事件代码:装入(Load)事件:PrivateSubForm_Load()Me.AutoRedraw=TrueMe.Caption="小画板-"&"未命名"EndSub鼠标按下(MouseDown)事件:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1ThenCurrentX=X:CurrentY=YEndIfEndSub鼠标移动(MouseMove)事件:PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1ThenMe.Line(CurrentX,CurrentY)-(X,Y)CurrentX=X:CurrentY=YEndIfEndSub编写菜单的事件代码:文件菜单的单击(Click)事件:PrivateSubfiles_Click(IndexAsInteger)SelectCaseIndexCase0Me.Picture=LoadPicture("")Me.Caption="小画板-"&"未命名"Case1CommonDialog1.ShowOpenMe.Picture=LoadPicture(CommonDialog1.FileName)Me.Caption="小画板-"&CommonDialog1.FileNameCase2CommonDialog1.FileName=Mid(Me.Caption,5)CommonDialog1.ShowSaveSavePictureMe.Image,CommonDialog1.FileNameCase3EndEndSelectEndSub画笔菜单项的单击(Click)事件:PrivateSubpencil_Click()Ifpencil.Caption="画笔"Thenpencil.Caption="擦除"Me.DrawMode=16Me.DrawWidth=8a="c:\ProgramFiles\MicrosoftVisualStudio\Common\Graphics\Cursors\h_nw.cur"Elsepencil.Caption="画笔"Me.DrawMode=1Me.DrawWidth=1a="c:\ProgramFiles\MicrosoftVisualStudio\Common\Graphics\Cursors\Pencil.cur"EndIfMe.MouseIcon=LoadPicture(a)EndSub
本文档为【vb键盘与鼠标事件过程优秀课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
夕夕资料
拥有专业强大的教研实力和完善的师资团队,专注为用户提供合同简历、论文写作、PPT设计、计划书、策划案、各类模板等,同时素材和资料部分来自网络,仅供参考.
格式:ppt
大小:207KB
软件:PowerPoint
页数:0
分类:成人教育
上传时间:2021-03-30
浏览量:0