Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)aaapublished in(发表于) 2014/7/19 0:11:19 delphi常用的键盘事件处理方法-实例
图形用户界面之所以能为广大用户所喜爱,并最终成为事实上的标准,最重要的一点在于它可以用简便、灵活的方式来接受用户的命令。用户在图形界面中输入的大部分命令,都是对界面特定元素的具体事件来响应并处理的。键盘和鼠标早已成为Windows 环境中的标准输入输出设备,所以一个优秀的应用程序在键盘响应和鼠标响应方面也一定要非常完美。键盘事件键盘事件,就是在图形界面中利用键盘实现命令的输入。下面介绍常用的键盘触发的事件。1.OnKeyDown 事件当按下键盘上的任意一个键,如字母键、数字键、功能键(F1~F12)、Ctrl 键、Shift 键或Alt键等,都将触发一个OnKeyDown 事件。下面这段代码说明了OnKeyDown 事件的用法:当打印时在窗体中按下Esc 键后,取消打印作业。procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);beginif (Key=VK_ESCAPE) and Printer.Printing thenbeginPrinter.Abort; //中止打印MessageDlg(’停止打印!’, mtInformation, [mbOK],0);end;end;2.OnKeyPress 事件当按下键盘上的一个字符键(如字母键、数字键等)时,会触发一个OnKeyPress 事件。但如果单独按下功能键(F1~F12)、Ctrl 键、Shift 键或Alt 键等,就不会产生OnKeyPress 事件。以下代码利用OnKeyPress 事件显示用户按下的是什么键:procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);beginMessageDlg ( ’你按下了:’+Key+’键!’,mtInformation, [mbOK], 0)end;3.OnKeyUp 事件当抬起键盘上被按下的键时,就会产生一个OnKeyUp 事件。对于功能键(F1~F12)、Ctrl 键、Shift 键或Alt 键等,也会触发OnKeyUp 事件。下面的一段代码说明了OnKeyDown 事件和OnKeyUp 事件的用法:varFormColor: TColor; //用来保存窗体原来的颜色procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);//当按下键时先保存窗体的颜色然后再改变窗体的颜色beginFormColor := Form1.Color;Form1.Color := clAqua;end;procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);//当键弹起时恢复窗体的颜色beginForm1.Color := FormColor;end;程序运行后,在窗体中按下某个键然后松开,窗体的颜色会随之改变。注意:按下某个键长时间不放,或同时按下多个键,这样会多次触发OnKeyDown 事件。
赞