不用注册热键方式在Delphi中实现定义快捷键(又简单又巧妙,但要当前窗体处在激活状态)

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不用注册热键方式在Delphi中实现定义快捷键(又简单又巧妙,但要当前窗体处在激活状态)相关的知识,希望对你有一定的参考价值。

第一步:在要实现快捷键的窗体中更改属性“KeyPreview”为True;
第二步:在要实现快捷键的窗体中的OnKeyPress事件中填入一个过程名称(在Object Inspector中),填写好后回车就可转入事件代码填写部分;
第三步:填写事件处理过程,下面给出一个例子:
procedure TFrmMain.KeyPress(Sender: TObject; var Key: Char);
begin
if key in [‘ ‘] then
  begin
    B_Play_Pause.Click;
  end;
end;

以上的例子实现了“在一个激活的窗体中,按下空格键,就相当于单击了播放/暂停按钮”的功能,这也是很多当前播放器所拥有的一个快捷键。在中括号里面可以填写多个字符,中间用英文半角逗号隔开,实现监视多个快捷键的功能,另外中括号里面也支持子界类型,例如:[‘0‘...‘9‘,‘a‘...‘z‘] 这样就实现了对数字0~9,小写英文字母a~z的输入监视。if后的处理过程可以对key进行case key of操作,例如:
case key of
0: to do something one;
1: to do something two;
当键盘输入0时执行to do something one语句,当键盘输入1时执行to do something two语句,相当于C语言中的switch语句。

http://blog.csdn.net/chaijunkun/article/details/4125624

以上是关于不用注册热键方式在Delphi中实现定义快捷键(又简单又巧妙,但要当前窗体处在激活状态)的主要内容,如果未能解决你的问题,请参考以下文章

在Delphi中实现图片的旋转、缩放

WPF中的自定义热键

如何在自定义 delphi 组件中实现 stringlist 属性?

delphi注册热键方法

在 golang 中实现全局热键?

在自定义 Delphi 组件中实现 Columns.Columns 属性