计算机二级辅导:Delphi的消息处理计算机等级考试

文章作者 100test 发表时间 2010:01:01 09:34:15
来源 100Test.Com百考试题网


  Delphi是Borland公司的一种面向对象的可视化软件开发工具。 Delphi集中了Visual C 和Visual Basic两者的优点:容易上手、功能强大,特别是在界面设计、数据库编程、网络编程方面更有其独特的优势。
  Delphi中的消息
  消息是Windows发出的一个通知,它告诉应用程序某个事件发生了。在Delphi中,大多数情况下Windows的消息被封装在VCL的事件中,我们只需处理相应的VCL事件就可以了,但如果我们需要编写自己的控件、截获或过滤消息就必须深入研究Win32的消息处理机制。
  在Delphi中消息以TMessage记录的方式定义。打开Message.pas文件,我们可以看到Tmessage是这样定义的:
  type
  TMessage = packed record
  Msg: Cardinal.
  case Integer of
  0: ( WParam: Longint.
  LParam: Longint.
  Result: Longint).
  1: ( WParamLo: Word.
  WParamHi: Word.
  LParamLo: Word.
  LParamHi: Word.
  ResultLo: Word.
  ResultHi: Word).
  end.
  其中,Msg是区别于其他消息的常量值,这些常量值可以是Windows单元中预定义的常量,也可以是用户自己定义的常量。Wparam通常是一个与消息有关的常量值,也可以是窗口或控件的句柄。LParam通常是一个指向内存中数据的指针。
  Result是消息处理的返回值。Wparam、Lparam和Result都是32位的,如果想访问其中的低16位或高16位可以分别使用WparamLo、WparamHi、 LParamLo、LparamHi、ResultLo和ResultHi。
  在Delphi中除了通用的Tmessage外,还为每个Windows定义了一个特殊的消息记录。我们可以浏览Message.pas文件,下面是键盘的消息记录:
  TWMKey = packed record
  Msg: Cardinal.
  CharCode: Word.
  Unused: Word.
  KeyData: Longint.
  Result: Longint.
  与键盘相关的消息如:WM_KEYDOWN、 WM_KEYUP、 WM_CHAR、 WM_SYSKEYDOWN WM_SYSKEYUP、 WM_SYSCHAR的记录也被定义为TWMkey。在Message.pas文件中有以下声明:
  TWMChar=TWMkey; TWMKeyDown=
  TWMkey;TWMKeyUp=TWMkey; TWMSys
  -KeyDown=TWMkey. TWMSysKeyUp=
  TWMkey;TWMSysChar=TWMkey;

相关文章


2009年9月全国计算机二级Delphi上机试题计算机等级考试
2009年下半年全国计算机二级Delphi笔试答案计算机等级考试
2009年9月全国计算机二级Delphi笔试试题计算机等级考试
我能在共享软件或商业软件中使用Indy组件吗?计算机等级考试
计算机二级辅导:Delphi的消息处理计算机等级考试
计算机二级辅导:Delphi操作ACCESS技巧集计算机等级考试
编写的ActiveX控件全攻略计算机等级考试
计算机二级辅导:第三方控件使用方法计算机等级考试
在DELPHI中如何调用系统对话框计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛