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.