学习 Message(8): 使用不同的消息结构


下面是同样的四段程序, 但分别使用了不同的三种消息结构: 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.

 
 
 
 
 

 

 
  

你可能感兴趣的:(学习 Message(8): 使用不同的消息结构)