在 C#中利用 API 进行消息处理
在 中采用的是事件驱动方式,但在我们使用的过程中,有时候通过调用系统原有的消息,
处理起来会比较简单一些,特别是在处理与 文件的交互时,的确是非常的方便。
在 C#中使用自定义消息
在 中使用自定义消息非常简单,只需要下面几个简单的步骤就可以了:
、II定义消息
定义消息的方法和 中定义消息有一点点不同
比如在 中申明一个自定义消息:
而在 中消息需要定义成 系统中的原始的 进制数字,比如自定义消息
!!"#$%
那么我们在 中申明的自定义消息,在 中就可以做对应的声明:
!!"%
&、II发送消息
消息发送是通过 提供的 '() 函数 *+ 来实现的,它的原型定义:IIIIIIII
, )-.!/0.1&2 03!.4(!"0*+056
.7*!!*!#!.!*+/
)!(!.83998* !!*!
!+399-*+
!(*.*-399.!-*+*.*-!.
! (*.*-99-*+*.*-!.
5%
1、II消息接收
消息发出之后,在 :.- 中如何接收呢?我们可以重载 ;. 函数来接收消息。
.!!7..7;(./.;4!-22:.-2*+-5
<
!8/-2+5
<
**+2=99处理消息
.*>%
;* !=
*2;(./.;-5%99调用基类函数处理非自定义消息。
.*>%
?
?
在 C#中使用系统消息
我们以 (')@ 消息的处理为例,在 中处理消息与 : 的消息处理是类似的,但更为
简单。: 中需要使用 ''A'( 来定义消息映射,在 就不需要了。比
如 (')@ 消息,我们只要重载父类中的 B(*! 虚拟方法即可,方法如下:
在菜单 CDB!8.CDBE!F.. 打开对象浏览窗口/或用 'G