不用注册热键方式在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

时间: 2024-08-27 01:39:48

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

pycharm中的快捷键和简单设置

PyCharm3.0默认快捷键(翻译的) PyCharm Default Keymap 1.编辑(Editing) Ctrl + Space    基本的代码完成(类.方法.属性)Ctrl + Alt + Space  快速导入任意类Ctrl + Shift + Enter    语句完成Ctrl + P    参数信息(在方法中调用参数) Ctrl + Q    快速查看文档 F1   外部文档 Shift + F1    外部文档,进入web文档主页 Ctrl + Shift + Z -->

在Delphi中使用indy SMTP发送gmail邮件[转]

在Delphi中使用indy SMTP发送gmail邮件[转] 2012-01-01 22:44:30|  分类: Delphi |  标签: |举报 |字号大中小 订阅 在Delphi中发送email很简单,发送ssl方式的gmail邮件也很简单,只要在使用的idSMTP上附加一个TIdSSLIOHandlerSocket 就可以了. 使用控件 procedure sendMail(sToMail, sSubject, sContent: String); var SMTP: TIdSMTP;

Delphi中编写OwnerDraw方式按钮的方法以及注意点

{在Win32标准控件库中(comctl32.dll)的控件绝大部分的控件都支持自画(OwnerDraw)功能的设置,这里以按钮为例子说说此类控件在delphi中的编写方式以及应该注意的问题!由于标准的按钮都有一套规定的外观标准(由windows的comctl32.dll中的代码绘制),为了给用户一个自己绘制控件的机会,多数的控件都支持在创建的时候设置一个标志来告诉系统这个控件需要自己绘制,例如按钮中有:BS_OWNERDRAW,菜单的有:MF_OWNERDRAW等等(还有诸如:ComboBox

Delphi中window消息截获的实现方式(2)

Delphi是Borland公司提供的一种全新的WINDOWS编程开发工具.由于它采用了具有弹性的和可重用的面向对象Pascal(object-orientedpascal)语言,并有强大的数据库引擎(BDE),快速的代码编译器,同时又提供了众多出色的构件.受到广大编程人员的青睐.在众多的编程语言(如VB,PowerBuilder,Powerpoint等)中脱颖而出.其中一个DELPHI强于其他编程语言(如VB4.0)的地方就是在DELPHI中可自定义消息,并可直接处理消息.这对于那些希望编写自

WinForm和WPF中注册热键

由于.Net没有提供专门的类库处理热键,所以需要直接调用windows API来解决. HotKey为.NET调用Windows API的封装代码,主要是RegisterHotKey和UnregisterHotKey class HotKey { /// <summary> /// 如果函数执行成功,返回值不为0. /// 如果函数执行失败,返回值为0.要得到扩展错误信息,调用GetLastError..NET方法:Marshal.GetLastWin32Error() /// </su

Delphi中ADO异步执行方式

当ADO开始处理数据后,应用程序必须等到ADO处理完毕之后才可以继续执行.但是除了同步执行方式之外,ADO也提供了异步执行的方式,允许当ADO处理时,应用程序仍然能够先继续执行.而当ADO处理数据完毕之后,ADO会以事件的方式通知应用程序,此时应用程序可以再根据ADO执行的结果来采取相应的动作.使用异步执行方式有许多用途,例如,如果应用程序需要处理花费大量时间的动作,那么ADO可以选择以异步执行方式让ADO在后台执行,而让应用程序继续处理图形用户接口或用户输入的数据.在ADO中使用异步执行方式非

MFC中注册热键操作--以CHotKeyCtrl设置热键为例

使用CHotKeyCtrl为程序添加热键功能,进行主界面的显示隐藏,类似于老板键,具体操作如下: 第一:获取设置的热键并使用RegisterHotKey进行热键的注册,代码如下: //获取热键键值 CHotKeyCtrl* photk=(CHotKeyCtrl*)GetDlgItem(IDC_HOTKEY1); WORD vkey,fsmoderfiers; photk->GetHotKey(vkey,fsmoderfiers); //注册热键 BOOL r=RegisterHotKey(m_h

delphi注册热键方法(一)

uses windows,menus; ..... //声明 HotKey_Key: Word; HotKey_Shift: Word; procedure WMHotKey(var msg : Tmessage); message WM_HOTKEY; ...... function ShiftStateToWord(Shift:TShiftState): Word; begin if ssShift in Shift then Result :=MOD_SHIFT else Result :

Delphi中的关键字与保留字

Delphi中的关键字与保留字 分类整理 Delphi 中的“关键字”和“保留字”,方便查询 感谢原作者的收集整理! 关键字和保留字的区别在于,关键字不推荐作标示符(编译器已经内置相关函数或者留给保留实现),二保留字是根本不可能作标示符(编译时有警示!) [系统保留字] and            array          as             asm begin          case           class          const constructor