| 订阅 | 在线投稿
分享
 
 
当前位置: 王朝网络 >> delphi >> DELPHI中使用热键
 

DELPHI中使用热键

2006-09-16 05:50:28 编辑來源:互联网 繁體版 评论
 
 
  在windows中规定应用程序热键的唯一标识符取值范围在0x0000~0xBFFF之间,动态链接库的取值范围在0xC000~0XFFFF之间。

   热键的辅助按键还包括Mod_Ctrl,Mod_Alt和Mod_Shift,对于windows兼容键盘,还包括windows标志键,Mod_Win。

   热键设置成功后,在程序运行过程中如果有预定义的热键被按下,windows系统都会给应用程序发送一个wm_hotkey消息。

   下面用一个例子演示它的使用

  

  

  

   编译程序、运行,如果此程序不是当前桌面显示在最前边的窗体,按下ctrl+alt+a后,程序界面将出现在桌面的最上。

   示例程序开发平台:D7+WINXP

   转载请注明出处。

DELPHI中使用热键
unit Unit1;

DELPHI中使用热键


DELPHI中使用热键
interface

DELPHI中使用热键


DELPHI中使用热键
uses

DELPHI中使用热键
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

DELPHI中使用热键


DELPHI中使用热键
type

DELPHI中使用热键
TForm1 = class(TForm)

DELPHI中使用热键
procedure FormCreate(Sender: TObject);

DELPHI中使用热键
procedure FormClose(Sender: TObject; var Action: TCloseAction);

DELPHI中使用热键
private

DELPHI中使用热键
DELPHI中使用热键
...{ Private declarations }

DELPHI中使用热键
public

DELPHI中使用热键
DELPHI中使用热键
...{ Public declarations }

DELPHI中使用热键
hotkeyid :integer; //记录热键标识

DELPHI中使用热键
//处理wm_hotkey消息

DELPHI中使用热键
procedure WMhotkeyhandle(var msg:Tmessage);

DELPHI中使用热键
message wm_hotkey;

DELPHI中使用热键


DELPHI中使用热键
end;

DELPHI中使用热键


DELPHI中使用热键
var

DELPHI中使用热键
Form1: TForm1;

DELPHI中使用热键


DELPHI中使用热键
implementation

DELPHI中使用热键


DELPHI中使用热键
DELPHI中使用热键
...{$R *.DFM}

DELPHI中使用热键
procedure TForm1.Wmhotkeyhandle

DELPHI中使用热键
(var msg:Tmessage);

DELPHI中使用热键
begin

DELPHI中使用热键
//判断是否是ctrl+alt+a

DELPHI中使用热键
if (msg.LParamHi=$41) and

DELPHI中使用热键
(msg.lparamLo=MOD_CONTROL or mod_Alt) then

DELPHI中使用热键
begin

DELPHI中使用热键
msg.Result:=1;//正常返回

DELPHI中使用热键
application.BringToFront;//将窗体显示在最前边

DELPHI中使用热键
end;

DELPHI中使用热键
end;

DELPHI中使用热键


DELPHI中使用热键
procedure TForm1.FormCreate(Sender: TObject);

DELPHI中使用热键
begin

DELPHI中使用热键
//通过原子表获得一个关于hotkey的唯一标识,注意本文前边提到的范围

DELPHI中使用热键
hotkeyid:=GlobalAddAtom(pchar('UserDefineHotKey'))-$C000;

DELPHI中使用热键
//注册ctrl+alt+a

DELPHI中使用热键
registerhotkey(handle,hotkeyid,MOD_CONTROL or mod_Alt,$41);

DELPHI中使用热键


DELPHI中使用热键
end;

DELPHI中使用热键


DELPHI中使用热键
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

DELPHI中使用热键
begin

DELPHI中使用热键
unregisterhotkey(handle,hotkeyid);//

DELPHI中使用热键
DeleteAtom(HotKeyID);

DELPHI中使用热键
end;

DELPHI中使用热键


DELPHI中使用热键
end.

DELPHI中使用热键
 
 
 
 
上一篇《DELPHI中的记录类型【存储方式和变体记录】》
下一篇《深入VCL源码研究DELPHI窗体的创建和关闭》
 
 
 
 
 
 
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

如何磨出破洞牛仔裤?牛仔裤怎么剪破洞?

把牛仔裤磨出有线的破洞 1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...

我就是扫描下图得到了敬业福和爱国福

先来看下敬业福和爱国福 今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。 今天该活动正式启动,和去年一样,需要收集“五福”...

冰箱异味产生的原因和臭味去除的方法

有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。 1、很多人有这种习...

 
 
 
在windows中规定应用程序热键的唯一标识符取值范围在0x0000~0xBFFF之间,动态链接库的取值范围在0xC000~0XFFFF之间。 热键的辅助按键还包括Mod_Ctrl,Mod_Alt和Mod_Shift,对于windows兼容键盘,还包括windows标志键,Mod_Win。 热键设置成功后,在程序运行过程中如果有预定义的热键被按下,windows系统都会给应用程序发送一个wm_hotkey消息。 下面用一个例子演示它的使用 编译程序、运行,如果此程序不是当前桌面显示在最前边的窗体,按下ctrl+alt+a后,程序界面将出现在桌面的最上。 示例程序开发平台:D7+WINXP 转载请注明出处。 [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]unit Unit1; [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]interface [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]uses [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]type [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] TForm1 = class(TForm) [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure FormCreate(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure FormClose(Sender: TObject; var Action: TCloseAction); [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] private [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif[/img][/url] ...{ Private declarations } [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] public [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif[/img][/url] ...{ Public declarations } [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] hotkeyid :integer; //记录热键标识 [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //处理wm_hotkey消息 [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] procedure WMhotkeyhandle(var msg:Tmessage); [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] message wm_hotkey; [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]var [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] Form1: TForm1; [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]implementation [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif[/img][/url][url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif[/img][/url]...{$R *.DFM} [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure TForm1.Wmhotkeyhandle [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url](var msg:Tmessage); [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //判断是否是ctrl+alt+a [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] if (msg.LParamHi=$41) and [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] (msg.lparamLo=MOD_CONTROL or mod_Alt) then [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] begin [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] msg.Result:=1;//正常返回 [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] application.BringToFront;//将窗体显示在最前边 [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] end; [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure TForm1.FormCreate(Sender: TObject); [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //通过原子表获得一个关于hotkey的唯一标识,注意本文前边提到的范围 [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] hotkeyid:=GlobalAddAtom(pchar('UserDefineHotKey'))-$C000; [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] //注册ctrl+alt+a [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] registerhotkey(handle,hotkeyid,MOD_CONTROL or mod_Alt,$41); [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]begin [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] unregisterhotkey(handle,hotkeyid);// [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] DeleteAtom(HotKeyID); [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end; [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url] [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]end. [url=http://www.wangchao.net.cn/bbsdetail_501490.html][img]http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif[/img][/url]
󰈣󰈤
 
 
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
时尚秀气模特裴裴(8)
时尚秀气模特裴裴(7)
时尚秀气模特裴裴(6)
时尚秀气模特裴裴(5)
白墙黑瓦
广州东郊[原创]
八美至丹巴的东谷天然盆景
不一样的
 
>>返回首页<<
 
 
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 热帖排行
 
 
 
 
©2005- 王朝网络 版权所有