Delphi 拦截/封锁 点击窗体右上角 最小化 最大化 层叠 关闭 按钮

type
  TFormManage = class(TForm)
    sbtn1: TSpeedButton;
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;//此处先声明拦截过程
  private
    { Private declarations }
  public
   { Public declarations }
  end;

var
  FormManage: TFormManage;

implementation


代码段加入以下内容 

procedure TFormManage.WMSysCommand(var Msg: TWMSysCommand);
begin
  ShowMessage(IntToStr(Msg.CmdType));
 //上面代码的作用是,显示message的cmdtype对应的int值
  if (Msg.CmdType=SC_CLOSE ) then
  begin
    ShowMessage(' 你点击了右上角 关闭 按钮  ');
  end ;

  if (Msg.CmdType=SC_MINIMIZE ) then
  begin
    ShowMessage('你点击了右上角 最小化 按钮  ');
  end ;

  if (Msg.CmdType=SC_MAXIMIZE ) then
  begin
    ShowMessage(' 你点击了右上角 最大化 按钮  ');
  end ;

  if (Msg.CmdType=SC_RESTORE ) then
  begin
    ShowMessage(' 你点击了右上角 层叠/还愿 按钮  ');
  end ;
  inherited;//加入此词句可让程序封锁消息后继续执行动作
end;

可以参考   万一的 Delphi 博客  http://www.cnblogs.com/del/archive/2008/10/31/1323683.html


版权声明:本文为uhjiok123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。