文档章节

学习 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
VC/MFC子窗体向父窗体传递参数的几种方法

VC/MFC子窗体向父窗体传递参数的几种方法 典型问题举例 窗体和子窗体均有一个Edit控件和一个按钮,点击父窗体按钮显示子窗体;点击子窗体按钮后,子窗体中Edit控件的值显示在在父窗体中的Edi...

IMGTN
2012/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

自己手写一个 SpringMVC 框架

前端框架很多,但没有一个框架称霸,后端框架现在Spring已经完成大一统.所以学习Spring是Java程序员的必修课. Spring 框架对于 Java 后端程序员来说再熟悉不过了,以前只知道它用的反射实现的,...

别打我会飞
20分钟前
1
0
01-《Apache Tomcat 9》之文件索引

《Apache Tomcat 9》是《看Apache官方文档学英语》的第一个专栏!让我们一起在看文档的过程中学英语,在学英语的过程中夯实技术! Documentation Index - 文件索引 Introduction - 介绍 This...

飞鱼说编程
22分钟前
1
0
最近

20181016最近在熟悉业务 关于money的 要涉及到流程中转同步 这个点感觉 业务大于技术 关于业务性的内容 还是要把自己及时清零的好 我们需要好好的梳理下业务内容 业务作为导向 技术提供解决方...

JAVA码猿
31分钟前
1
0
JDK1.8HashMap源码分析

HashMap和Hashtable的主要区别是: 1. Hashtable是线程安全,而HashMap则非线程安全,Hashtable的实现方法里面大部分都添加了synchronized关键字来确保线程同步,因此相对而言HashMap性能会高...

小小明童鞋
41分钟前
18
0
以Redis为例,详谈分布式系统缓存的细枝末节

前言: 在分布式Web程序设计中,解决高并发以及内部解耦的关键技术离不开缓存和队列,而缓存角色类似计算机硬件中CPU的各级缓存。如今的业务规模稍大的互联网项目,即使在最初beta版的开发上...

Java干货分享
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部