键盘和鼠标编程资料.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
键盘和鼠标编程资料

键盘和鼠标编程 事件可分为用户事件和系统事件两类。用户事件比较好理解,它用于响应应用程序的用户的动作。单击鼠标,就会调用一个OnMouseDown事件。移动鼠标,就会响应一个OnMouseMove事件。敲击键盘,会响应一个OnKeyDown事件。系统事件是由操作系统产生的。典型的系统事件是定时器的OnTimer事件。不管事件以何种方式调用,Delphi总是先看事件处理器是否添加了代码,如果有代码,代码将被执行,否则什么也不发生。 在事件驱动编程中,Delphi处理事件的顺序非常重要。用户仅仅只发出一个请求就可能触发许多事件,因此弄清楚事件发生的顺序非常重要。清楚了事件发生的顺序后可以避免出现一些竟想不到的结果。例如,单击按钮,首先响应的是OnEnter事件,然后响应OnMouseDown事件,最后触发的是Onclick事件。 键盘事件处理 键盘事件 1.OnKeyDown 当按下键盘上的任一个键,如字母键、数字键、功能键(F1~F12)、Ctrl键、Shift键或Alt键等,都将产生一个OnKeyDown事件。 下面的一段代码说明了OnKeyDown事件的用法:当打印的时候在窗体中按下Esc键后,取消打印作业。 procedureTForm1.FormKeyDown(Sender:TObject;varKey:Word;Shift:TShiftState); begin if(Key=VK_ESCAPE)andPrinter.Printingthen begin Printer.Abort;//中止打印 MessageDlg(打印中止。,mtInformation,[mbOK],0); End; End; 2.OnKeyPress 当按下键盘上的一个字符键,如字母键、数字键等会产生一个OnKeyPress事件,但是单独按下功能键(F1~F12)、Ctrl键、Shift键或Alt键等,不会产生OnKeyPress事件。 下面的一段代码说明了OnKeyPress事件的用法: procedureTForm1.FormKeyPress(Sender:TObject;varKey:Char); begin //显示按下的键 MessageDlg(你按下了+Key+键。,mtInformation,[mbOK],0); End; 3.OnKeyUp 当按下键盘上的任一个键后松开时,都会产生一个OnKeyUp事件。对于功能键(F1~F12)、Ctrl键、Shift键或Alt键等,也会产生一个OnKeyUp事件。 下面的一段代码说明了OnKeyDown事件和OnKeyUp事件的用法: var FormColor:TColor;//用来保存窗体原来的颜色 procedureTForm1.FormKeyDown(Sender:TObject;varKey:Word;Shift:TShiftState); begin //当键按下时先保存窗体的颜色然后再改变窗体的颜色 FormColor:=Form1.Color; Form1.Color:=clAqua; end; procedureTForm1.FormKeyUp(Sender:TObject;varKey:Word;Shift:TShiftState); begin //当键弹起时恢复窗体的颜色 Form1.Color:=FormColor; end; 程序运行后,在窗体中按下某个键然后松开,窗体的颜色会随之改变。 ? 模拟按下键盘上的某个键 有时在一些应用程序中,也需要模拟在键盘上按下某个键的过程,这可以通过向特定对象发送按键事件来实现。 例4-1 模拟按下键盘上的某个键 (1)创建一个新的工程,在窗体中添加一个Edit组件、一个Button组件和一个定时器组件(位于System标签页)。 (2)并添加Button组件的OnClick事件、Timer组件的OnTimer事件的处理过程如下: procedureTForm1.Button1Click(Sender:TObject); //模拟在Edit1组件中按下了字母a键 begin PostMessage(Edit1.Handle,WM_KEYDOWN,65,0); end; procedureTForm1.Timer1Timer(Sender:TObject); //模拟在窗体Form1中按下了Tab键 begin PostMessage(Form1.Handle,WM_KEYDOWN,VK_TAB,0); end; (3)运行程序,可以看到窗体的输入焦点在不断地变化,尽管并没有在键盘上按下Tab键。如果按下Button1按钮,则Edit1组件中的字符串会自动增加一个字母a。 检测功能键 在组件的O

文档评论(0)

ccx55855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档