文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 291
阅读 8
收藏 0

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.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/10/31/1323813.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
windows消息(一)

SendMessage函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队...

jinx88
2016/06/18
10
0
MFC的SendMessage函数详解

SendMessage函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队...

长平狐
2012/10/08
2.9K
0
MFC下多线程与消息机制的结合使用

前面一段时间,一直在想怎么样实现在全局的线程函数中实现调用窗体的一些函数(比如说在线程里面调用按钮单击处理函数,以及窗体的一些操作)。最近在网络 闲逛中发现了实现的方法,特意贴出...

长平狐
2012/07/12
150
0
几个WM消息其lParam和wParam参数定义

几个WM消息其lParam和wParam参数定义 鼠标消息 lParam:低字组为x 座标,高字组为y 座标,这两个座标是相对于窗口显示区域左上角的位置。 Wparam:指示滑鼠按键以及Shift和Ctrl 键的状态。可...

IMGTN
2012/10/03
0
1
GetMssage()和WSAAsyncSelect()捕获网络事件消息

一、GetMessage()函数说明 要从消息队列中取出消息,我们需要调用GetMessage()函数,该函数的原型声明如下: BOOL GetMessage( LPMSG lpMsg, // address of structure with message HWND hW...

souldepth
2015/07/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

es6

在实际开发中,我们有时需要知道对象的所有属性,原生js给我们提供了一个很好的方法:Object.keys(),该方法返回一个数组 传入对象,返回属性名 var obj = {'a':'123','b':'345'};console.l...

不负好时光
16分钟前
0
0
叮!您收到一份超值Java基础入门资料!

摘要:Java语言有什么特点?如何最大效率的学习?深浅拷贝到底有何区别?阿里巴巴高级开发工程师为大家带来Java系统解读,带你掌握Java技术要领,突破重点难点,入门面向对象编程,以详细示例...

全部原谅
18分钟前
0
0
web.xml容器加载顺序

容器对于web.xml的加载过程是context-param >> listener >> fileter >> servlet

Aeroever
20分钟前
1
0
Docker容器日志查看与清理

1. 问题 docker容器日志导致主机磁盘空间满了。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。 2. 解决方法 2.1 找出Docker容器日志 在linux上,容器日...

muzi1994
21分钟前
0
0
J2Cache 和普通缓存框架有何不同,它解决了什么问题?

不少人看到 J2Cache 第一眼时,会认为这就是一个普普通通的缓存框架,和例如 Ehcache、Caffeine 、Spring Cache 之类的项目没什么区别,无非是造了一个新的轮子而已。事实上完全不是一回事!...

红薯
24分钟前
456
14

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部