• 学习 Message(19): WM_SYSCOMMAND 消息[三] : WParam 参数



    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.
    
  • 相关阅读:
    springcloud将多个微服务的swagger文档整合到同一个地址访问
    git 强制回滚到某个commit版本
    常用几个 mvn 命令
    @Resource @Autowired
    我们需要深度沟通
    python 中文乱码解决方案
    同一台电脑使用多个ssh私钥配置不同的github账号
    pyinstaller 打包 sentry_sdk 出现 ModuleNotFoundError 的解决方法
    Linux系统下强制踢掉登录用户
    zsh Ctrl+U 从当前位置删除到行首
  • 原文地址:https://www.cnblogs.com/del/p/1323813.html
Copyright © 2020-2023  润新知