如何发送自定义消息(100分)

  • 主题发起人 主题发起人 lxch_co_95
  • 开始时间 开始时间
L

lxch_co_95

Unregistered / Unconfirmed
GUEST, unregistred user!
const
WM_LXCH = WM_USER + 10;
type
PLxch = ^TWMLxch;
TWMLxch = packed record
ID: Word;
ok: Word;
Name: DWord;
end;
type
TForm1 = class(TForm)
private
procedure WMChar(var Message: TWMLxch ); message WM_LXCH;
end;
procedure TForm1.WMChar(var Message: TWMLxch );
begin
id := Message.ID;
end;
问题:
Lxch:TWMLxch; lxch.ID := 5;
PostMessage(self.Handle, WM_LXCH, 0, 0);可以让该函数执行,但TWMLxch参数如何传过去呢?
 
最好是默认的Msg:TMessage,然后将ID可以给第三个参数,在procedure TForm1.WMChar(var Message: TWMLxch );中根据ID是否等于Msg.wparam得到真正的ID
 
PostMessage函数发送时的2个参数是DWORD的
 
PostMessage的最后两个参数可以带数据
 
TCustomForm的
procedure WMPaint(var Message: TWMPaint); message WM_PAINT;
系统是如何把TWMPaint的参数传给它的呢?没人知道吗?
 

Similar threads

后退
顶部