TMessage.WParam 就是 TWMSysCommand.CmdType; 這是系統命令編號.
下面程序會把 WParam 攔截, 並顯示的窗體標題.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
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);
var
str: string;
begin
case Message.CmdType of
SC_SIZE : str := 'SIZE ';
SC_MOVE : str := 'MOVE ';
SC_MINIMIZE : str := 'MINIMIZE ';
SC_MAXIMIZE : str := 'MAXIMIZE ';
SC_NEXTWINDOW : str := 'NEXTWINDOW ';
SC_PREVWINDOW : str := 'PREVWINDOW ';
SC_CLOSE : str := 'CLOSE ';
SC_VSCROLL : str := 'VSCROLL ';
SC_HSCROLL : str := 'HSCROLL ';
SC_MOUSEMENU : str := 'MOUSEMENU ';
SC_KEYMENU : str := 'KEYMENU ';
SC_ARRANGE : str := 'ARRANGE ';
SC_RESTORE : str := 'RESTORE ';
SC_TASKLIST : str := 'TASKLIST ';
SC_SCREENSAVE : str := 'SCREENSAVE ';
SC_HOTKEY : str := 'HOTKEY ';
SC_DEFAULT : str := 'DEFAULT ';
SC_MONITORPOWER : str := 'MONITORPOWER ';
SC_CONTEXTHELP : str := 'CONTEXTHELP ';
SC_SEPARATOR : str := 'SEPARATOR ';
61441: str := '拖動左邊框 ';
61442: str := '拖動右邊框 ';
61443: str := '拖動上邊框 ';
61444: str := '拖動左上角 ';
61445: str := '拖動右上角 ';
61446: str := '拖動下邊框 ';
61447: str := '拖動左下角 ';
61448: str := '拖動右下角 ';
61458: str := '拖動標題欄 ';
61558: str := '橫向滾動條滾動';
61574: str := '雙擊橫向滾動條';
61575: str := '縱向滾動條滾動';
61559: str := '雙擊縱向滾動條';
61587: str := '點擊最小化圖標';
61490: str := '在非最大化時雙擊標題欄';
61730: str := '在最大化時雙擊標題欄';
end;
if str = '' then str := IntToStr(Message.CmdType);
Text := str;
inherited;
end;
end.