下面是同樣的四段程序, 但分別使用了不同的三種消息結構: TWMMouseMove、TWMMouse、TMessage
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
protected
procedure WMMouseMove(var Message: TWMMouseMove); message WM_MOUSEMOVE;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.WMMouseMove(var Message: TWMMouseMove);
var
x,y: Integer;
begin
x := Message.XPos;
y := Message.YPos;
Text := Format('%d, %d', [x,y]);
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
protected
procedure WMMouseMove(var Message: TWMMouse); message WM_MOUSEMOVE;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.WMMouseMove(var Message: TWMMouse);
var
x,y: Integer;
begin
x := Message.XPos;
y := Message.YPos;
Text := Format('%d, %d', [x,y]);
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
protected
procedure WMMouseMove(var Message: TMessage); message WM_MOUSEMOVE;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.WMMouseMove(var Message: TMessage);
var
x,y: Integer;
begin
x := Message.LParamLo;
y := Message.LParamHi;
Text := Format('%d, %d', [x,y]);
end;
end.