消息简单示例一

示例一

 

自定义的消息必须由用户向窗口发送。Windows 提供了两种不同的方法向窗口发送Windows 消息:
PostMessage 函数和SendMessage 函数。这里通过例子来说明如何使用自定义消息。使用自定义消息前,
首先要定义一个消息标识符常量,为了避免和系统中已有消息标识符冲突,可在WM_USER 消息标识
符的基础上添加一个常量来赋给要定义的消息标识符。然后可在单元文件中定义消息响应过程和消息
标识符常量。消息响应过程使用消息类TMessage 的变量为参数,随后应定义一个消息标识符变量,
变量名必须为Message。

View Code
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RzButton;
 
const
 
// 定义一个WM_MYMESSAGE 消息 ,
 
// 为了避免和系统中已有消息标识符冲突,可在WM_USER 消息标识
// 符的基础上添加一个常量来赋给要定义的消息标识符
 WM_MYMESSAGE
= WM_USER  + 5 ;
type
  TMessageFrm 
=   class (TForm)
    btn1: TRzButton;
    
procedure  btn1Click(Sender: TObject);
    
procedure  WMUser( var  msg:TMessage); message  WM_MYMESSAGE;
  
private
    
{  Private declarations  }
  
public
    
{  Public declarations  }
  
end ;

var
  MessageFrm: TMessageFrm;

implementation

{ $R *.dfm }

procedure  TMessageFrm.btn1Click(Sender: TObject);
var
 HWnd:THandle;
begin
  HWnd:
= FindWindow( ' TMessageFrm ' , ' MessageFrm ' );
  
if  HWnd <> 0   then
   PostMessage(HWnd,WM_MYMESSAGE,
0 , 0 );
end ;
  
// 编写响应自定义消息的代码
procedure  TMessageFrm.WMUser( var  msg: TMessage);
begin
  ShowMessage(
' 我的消息 ' );
end ;

end .

 

 

你可能感兴趣的:(示例)