学习 Message(19): WM_SYSCOMMAND 消息[三] : WParam 参数
学习 Message(19): WM_SYSCOMMAND 消息[三] : WParam 参数
涂孟超 发表于3年前
学习 Message(19): WM_SYSCOMMAND 消息[三] : WParam 参数
  • 发表于 3年前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   


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.

 
 
 
 
 

 

 

  
共有 人打赏支持
粉丝 13
博文 2004
码字总数 14107
×
涂孟超
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: