程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 學習 Message(18): WM_SYSCOMMAND 消息[二] : LParam 參數

學習 Message(18): WM_SYSCOMMAND 消息[二] : LParam 參數

編輯:Delphi

 WM_SYSCOMMAND 消息的 LParam 參數是鼠標位置, 低位是 X, 高位是 Y.

  下面三段程序是一樣的只是使用不同類型的消息參數, 用 TWMSysCommand 更方便, 用 TMessage 更正統.

  程序一:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
 protected
  procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
 Text := Format('%d,%d', [Message.XPos, Message.YPos]);
 inherited;
end;

end.

  程序二:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
 protected
  procedure WMSysCommand(var Message: TMessage); message WM_SYSCOMMAND;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMSysCommand(var Message: TMessage);
begin
 Text := Format('%d,%d', [LoWord(Message.LParam), HiWord(Message.LParam)]);
 inherited;
end;

end.


 程序三:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
 protected
  procedure WMSysCommand(var Message: TMessage); message WM_SYSCOMMAND;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMSysCommand(var Message: TMessage);
begin
 Text := Format('%d,%d', [Message.LParamLo, Message.LParamHi]);
 inherited;
end;

end.

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved