文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 291
阅读 7
收藏 0
点赞 0
评论 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
博文 2004
码字总数 14107
作品 0
深圳
程序员
windows消息(一)

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

jinx88 ⋅ 2016/06/18 ⋅ 0

MFC的SendMessage函数详解

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

长平狐 ⋅ 2012/10/08 ⋅ 0

MFC下多线程与消息机制的结合使用

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

长平狐 ⋅ 2012/07/12 ⋅ 0

几个WM消息其lParam和wParam参数定义

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

IMGTN ⋅ 2012/10/03 ⋅ 1

c# 更改最大化按钮功能实现最大化时遮盖任务栏,点击Esc取消全屏

更改最大化按钮功能实现最大化时遮盖任务栏。 const int WMSYSCOMMAND = 0x112; const int SCCLOSE = 0xF060; const int SCMINIMIZE = 0xF020; const int SCMAXIMIZE = 0xF030; protected ov......

Vevi ⋅ 2012/08/11 ⋅ 0

SendMessage用法

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

付品军 ⋅ 2010/01/19 ⋅ 0

MFC学习之路

参考书籍: 《VC++ 深入详解》--孙鑫 《MFC深入浅出》 --侯捷 《C++标准程序库》--侯捷 《visual c++典型模块与项目实战大全》 ---电子工业出版社 《visual c++ 串口通信程序》 一、接触MFC...

流云的博客 ⋅ 2015/05/04 ⋅ 3

GetMssage()和WSAAsyncSelect()捕获网络事件消息

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

souldepth ⋅ 2015/07/23 ⋅ 0

VC/MFC子窗体向父窗体传递参数的几种方法

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

IMGTN ⋅ 2012/11/15 ⋅ 0

C# 利用消息机制实现可拖动 lable

View Code 1 [DllImport("User32.DLL")] 2publicstaticexternint SendMessage(IntPtr hWnd,uint Msg,int wParam,int lParam); 3 [DllImport("User32.DLL")] 4publicstaticexternbool Release......

长平狐 ⋅ 2012/10/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

构建自定义组件

#前言 接上篇,因项目需由H5转到小程序,故需打造自定义对话框。而这块需使用到微信小程序的自定义组件功能。 小程序自定义组件 点击此处,可以查看小程序自定义组件的api。 从自定义组件的样...

387 ⋅ 15分钟前 ⋅ 0

Maven 项目添加本地jar包的三种方式

Maven 项目添加本地jar包的三种方式 翻译自3 ways to add local jar to maven project [TOC] 简介 在构建 Maven 项目时,有时候需要导入本地的jar包,本文介绍了三种添加本地jar包的方法。 ...

Os_yxguang ⋅ 16分钟前 ⋅ 0

long超过16位之后浏览器自动截断问题处理。

java前后端交互的过程中,定义的Long字段超过16位之后,js发生截断,从而不能跟后台数据进行匹配。 处理方法 把long型字段转成string进行处理。(可以使用json注解转换或者springmvc统一拦截...

strict_nerd ⋅ 18分钟前 ⋅ 0

一文带你搞定Integer

1.1 前言 Integer是int对应的包装类,它包含一个int类型的字段存储数据,并提供了多个基本操作,能在 int 类型和 String 类型之间互相转换。在Java5中,引入了自动装箱和自动拆箱功能,Java可...

筱虾米 ⋅ 18分钟前 ⋅ 0

Linux kernel脉络和主干总结

写在前面 前人常说,对Linux操作系统/内核的理解,是计算机行业从业者的内功,决定了你在技术领域想走多远。但内核的庞大以及学习曲线之陡峭,总让我在学习途中觉得犹如“管中窥豹”。 随着工...

Markz0928 ⋅ 33分钟前 ⋅ 0

在gcc中使用intel风格的内联汇编

很简单,内联汇编使用asm(“.intel_syntax noprefix/n”)声明一下,以后的内联汇编就可以用intel风格了,构建可执行文件时给gcc加上-masm=intel参数。 先写一个小程序测试一下: [cpp] view...

simpower ⋅ 43分钟前 ⋅ 0

NIO 之 ByteBuffer实现原理

相关文章 BIO、NIO、AIO 内部原理分析 NIO 之 Selector实现原理 NIO 之 Channel实现原理 前言 Java NIO 主要由下面3部分组成: Buffer Channel Selector 在传统IO中,流是基于字节的方式进行...

轨迹_ ⋅ 53分钟前 ⋅ 0

Jenkins docker权限问题

环境Ubuntu Server 工具 jenkins-war:2.89.2 报错信息 Cannot connect to the Docker daemon. Is the docker daemon running on this host?Build step 'Execute shell' marked build as fai......

Pulsar-V ⋅ 53分钟前 ⋅ 0

180621-一个简单的时间窗口设计与实现

如何设计一个计数的时间窗口 时间窗口,通常对于一些实时信息展示中用得比较多,比如维持一个五分钟的交易明细时间窗口,就需要记录当前时间,到五分钟之前的所有交易明细,而五分钟之前的数...

小灰灰Blog ⋅ 今天 ⋅ 0

Android之Dalvik、ART、JIT、AOT

Android之Dalvik、ART、JIT、AOT 本文内容:Dalvik、ART、JIT、AOT之间关系 本文定位:知识记录 学习过程记录,加深理解,提升文字组合表达能力。也希望能给学习的同学一些灵感 本文整理于[...

lichuangnk ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部