const SX_MYMESSAGE=WM_USER+100;//自定义一个消息常量
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject); private
//消息名对应的函数名不能是一样一样的。
procedure SXMyMessage(var Msg:TMessage);message SX_MYMESSAGE;
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
begin
sendmessage(handle,SX_MYMESSAGE,0,0);
end;//消息名对应的函数名不能是一样一样的。
procedure TForm1.SXMyMessage(var Msg:TMessage);begin
showmessage('yes .....');//这无所谓。
//messageDlg('消息已收到,正在处理!',mtInfomation,[mbok],0);我以前也遇到过同样的问题希望对你有帮助
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject); private
//消息名对应的函数名不能是一样一样的。
procedure SXMyMessage(var Msg:TMessage);message SX_MYMESSAGE;
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
begin
sendmessage(handle,SX_MYMESSAGE,0,0);
end;//消息名对应的函数名不能是一样一样的。
procedure TForm1.SXMyMessage(var Msg:TMessage);begin
showmessage('yes .....');//这无所谓。
//messageDlg('消息已收到,正在处理!',mtInfomation,[mbok],0);我以前也遇到过同样的问题希望对你有帮助
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
const SX_MYMESSAGE=WM_USER+100;//自定义一个消息常量
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure SX_MYMESSAGE_Proc(var msg:TMessage);Message WM_USER+100;//自定义一个消息常量
end;var
Form1: TForm1;implementation{$R *.DFM} procedure TForm1.SX_MYMESSAGE_Proc(var msg:TMessage);
var p:Pchar;
begin
p:=pointer(msg.Lparam);
showMessage(p);
end;procedure TForm1.Button1Click(Sender: TObject);
var str:String; addr:longint;
begin
str:='SX_MYMESSAGE_Proc Test OK';
addr:=longint(@str[1]);
sendMessage(handle,SX_MYMESSAGE,0,addr);
end;end.