初涉Delphi下Windows消息机制——系统预定义消息实例

 

 

该实例使用的是windows的WM_KEYDOWN消息,当按键按下时,发出beep声音。

创建一个窗口,代码部分如下:

 

 

当按下任意键时,系统会产生beep的声音。(前提是在选中该窗口的时候)。

procedure keydown(var Msg:TWMKeydown);message WM_KEYDOWN;

这是一个消息处理函数,参数是一个TWMKeydown类型的形参(也可以是TMessage,如果是其他的消息,怎使用相应的特殊消息记录)。声明的时候,后面要跟message消息指示符,然后添上消息常量,以表明这个函数是处理什么消息的。

补充:Delphi把Windows的TMsg记录中的信息映射成为TMessage记录,除此之外,Delhi为每个Windows消息定义了一个特殊的消息记录,这样就不必从wParam域和lParam域中分解出有关信息。这些特殊的记录可以在Message单元中找到。消息记录的命名是在消息标识符的前面加上大写字母T并去掉下划线。例如,与消息WM_KEYDOWN对应的消息记录名称叫TWMKeydown。TMessage记录对所有的消息都是适用的,而特殊的消息记录只适用于某些消息。

在实现部分有这么一个关键字inherited,这是将消息传递给祖先类,使得祖先类来处理。(打个比方,有个人通知你XX要来,你对XX的反应是赶紧躲起来,但XX是你父亲的好友。有两种选择,一是你躲起来,但不调用inherited通知你父亲。还有一种选择就是你躲起来,顺便调用inherited,把这消息告诉你父亲,他爱怎么处理就怎么处理。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值