下面是自定义消息的处理,你看了就会明白:
要传送的参数最好放在全局变量中,因为局部变量马上会消失。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,shellapi;
const
WM_MYTEST=WM_USER+1;
type
TUser=record
UserName:string;
UserID:word;
UserDateTime:TDateTime;
end;
PUser=^tUser ;
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure WMTEST(var Message:TMessage);message WM_MYTEST;
public
{ Public declarations }
end;
var
Form1: TForm1;
User:TUser;
implementation
{$R *.DFM}
procedure TForm1.WMTEST(var Message:TMessage);
var
p
User;
begin
p:=PUser(message.wparam);
label1.caption:=format('%s %d %s',[p^.UserName,p^.UserId,datetimetostr(p^.Userdatetime)]);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
User.UserName:='王建欣';
User.UserID:=4825;
User.UserDateTime:=Now;
SendMessage(Form1.Handle,WM_MYTEST,Integer(@User),0);
end;
end.