unit Wcens;interfaceconst
WM_RECE = $400 + 201;
type TAS=packed record
P:ARRAY[0..3] of CHAR;
k:ARRAY[4..160] of BYTE; end;各位高手,请教这段代码是啥意思?我是新手,只知道这是定义了一个消息队列,TAS是一个消息的名称,
对于$400+201 ,不知道这是啥意思,
各位高手可否详细的解释一下呢 谢谢
WM_RECE = $400 + 201;
type TAS=packed record
P:ARRAY[0..3] of CHAR;
k:ARRAY[4..160] of BYTE; end;各位高手,请教这段代码是啥意思?我是新手,只知道这是定义了一个消息队列,TAS是一个消息的名称,
对于$400+201 ,不知道这是啥意思,
各位高手可否详细的解释一下呢 谢谢
{$EXTERNALSYM WM_USER}
WM_USER = $0400;WM_USER以后一段是留个程序员自定义消息ID.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;const WM_RECE = WM_USER + 201;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure WMRECE(var msg:TMessage);message WM_RECE;
public
{ Public declarations }
end;var
Form1: TForm1;
implementation{$R *.dfm}{ TForm1 }procedure TForm1.WMRECE(var msg: TMessage);
begin
ShowMessage('自定义消息');
end;procedure TForm1.Button1Click(Sender: TObject);
begin
PostMessage(Handle,WM_RECE,0,0);
end;end.
$0400是十六进制,是十进制的1024
WM_RECE = WM_USER + 201;
WM_RECE = 1225;所以
PostMessage(Handle,1225,0,0);
也能得到上面相同的结果.
但是400是固定的啊
WM_RECE = $400 + 201;//声明了一个消息常量,这个消息是用户自定义消息,非系统或是标准消息;$400(0x0400H)是系统保留给开发人员的一个消息常量,用户自定义消息均从以此值为基量,并进行递增.
type TAS=packed record //此处声明了一个紧缩型的记录体;紧型记录类型的大小是按用户使用的具体字节确定的.
P:ARRAY[0..3] of CHAR;
k:ARRAY[4..160] of BYTE; end;
P:ARRAY[0..3] of CHAR;
k:ARRAY[4..160] of BYTE;
end;
只是定义了一个结构,并不是消息队列,消息队列是系统提供,而且提供了函数访问。