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 '; : str := '拖动左边框 ';
: str := '拖动右边框 ';
: str := '拖动上边框 ';
: str := '拖动左上角 ';
: str := '拖动右上角 ';
: str := '拖动下边框 ';
: str := '拖动左下角 ';
: str := '拖动右下角 ';
: str := '拖动标题栏 ';
: str := '横向滚动条滚动';
: str := '双击横向滚动条';
: str := '纵向滚动条滚动';
: str := '双击纵向滚动条';
: str := '点击最小化图标';
: str := '在非最大化时双击标题栏';
: str := '在最大化时双击标题栏';
end; if str = '' then str := IntToStr(Message.CmdType); Text := str;
inherited;
end;

http://www.cnblogs.com/del/archive/2008/10/31/1323813.html

定义的和未定义的:

已有定义的系统命令常数(感觉有些有问题):
SC_SIZE = ;
SC_MOVE = ;
SC_MINIMIZE = ;
SC_MAXIMIZE = ;
SC_NEXTWINDOW = ;
SC_PREVWINDOW = ;
SC_CLOSE = ;
SC_VSCROLL = ;
SC_HSCROLL = ;
SC_MOUSEMENU = ;
SC_KEYMENU = ;
SC_ARRANGE = ;
SC_RESTORE = ;
SC_TASKLIST = ;
SC_SCREENSAVE = ;
SC_HOTKEY = ;
SC_DEFAULT = ;
SC_MONITORPOWER = ;
SC_CONTEXTHELP = ;
SC_SEPARATOR = ;
SC_ICON = SC_MINIMIZE;
SC_ZOOM = SC_MAXIMIZE; 未定义的系统命令常数:
: 拖动左边框
: 拖动右边框
: 拖动上边框
: 拖动左上角
: 拖动右上角
: 拖动下边框
: 拖动左下角
: 拖动右下角 : 拖动标题栏 : 横向滚动条滚动
: 双击横向滚动条
: 纵向滚动条滚动
: 双击纵向滚动条
: 点击最小化图标
: 在非最大化时双击标题栏
: 在最大化时双击标题栏

http://www.cnblogs.com/del/archive/2008/10/31/1323683.html

------------------------------------------------------------------------------

如果你稍学点 C/C++ 的原始 Windows 编程, 就会发现哪里没有事件, 只有消息.
正因为 Delphi 能够直接使用消息, 所以 C/C++ 能做到的, Delphi 也可以; Delphi 通过事件代替了大部分常用的消息, 所以 Delphi 简单、易用、高效!
如果你喜欢, 在 Delphi 中你可以用消息代替所有事件; 有些消息 Delphi 没有包装成事件(或不方便或不能够包装), 你只能用消息.

http://www.cnblogs.com/del/archive/2008/10/31/1323797.html

WM_SYSCOMMAND包括很多功能,比如:拖动左边框、拖动标题栏、滚动条滚动、点击最小化、双击标题栏——Delphi 通过事件代替了大部分常用的消息,所以Delphi 简单、易用、高效的更多相关文章

  1. 【VS开发】开发最小化到托盘的功能

    在VC++中,想实现最小化MFC程序的时候,最小化到系统托盘,需要调用NOTIFYICONDATA类 下面我们就来讲解一下如何简单实现一个系统托盘我们以对话框程序为列 第一步:在Dlg类中//定义一个 ...

  2. Ubuntu 16.04 启用 点击Launcher图标,窗口实现最小化 功能

    安装了Ubuntu之后,要是每次都点击最小化按钮来实现窗口的最小化,操作起来很不方便,那么怎么样才能方便操作呢, Ubuntu 16.04 本身支持 点击应用程序Launcher图标实现最小化 功能, ...

  3. JQuery内容从左边框移到右边框

    最近感觉学习挺紧的.JQuery没有学几天就又开始学习AngularJS了.学习的时候都是看着老师用着很简单,自己写的时候就觉得不太会用.但是学习AngularJS的时候有很多问题,我觉得不管是学习J ...

  4. C# WinForm 拖动无边框窗体 改变无边框窗体尺寸

    经常遇到这种情况.窗体的边框去掉了.然后种种问题就出来了:不能拖动.不能改变窗体大小.不能......当然.肯定有解决方案滴*^_^*今天的目标就是:可以直接拖动没有边框的窗体.可以直接拉拽窗体改变其 ...

  5. js 鼠标左键拖动滚动

    鼠标左键拖动滚动 原作者: http://blog.csdn.net/lisatisfy/article/details/6606026 本文在源代码的基础上 增加支持水平滚动 的功能 html &l ...

  6. 【Winfrom-无边框窗体】Winform如何拖动无边框窗体?

    去掉边框 this.FormBorderStyle = FormBorderStyle.None; 方法一: Point mouseOff;//鼠标移动位置变量 bool leftFlag;//标签是 ...

  7. Electron 无边框窗口最大化最小化关闭功能

    Electron 无边框窗口最大化最小化关闭功能 目的 实现无边框窗口,并添加最大化最小化和关闭功能 前提 了解Electron 主进程和渲染进程的通讯 了解 BrowserWindow相关功能 操作 ...

  8. winform学习(9)无边框拖动窗体

    去除边框 选中窗体,在属性中找到FormBorderStyle,设置为None 实现无边框拖动 [DllImport("user32.dll")]        public st ...

  9. C# GDI绘制矩形框,鼠标左键拖动可移动矩形框,滚轮放大缩小矩形框

    最近工作需要,要做一个矩形框,并且 用鼠标左键拖动矩形框移动其位置.网上查了一些感觉他们做的挺复杂的.我自己研究一天,做了一个比较简单的,发表出来供大家参考一下.如觉得简单,可路过,谢谢.哈哈. 先大 ...

随机推荐

  1. U盘安装win7+CentOS7双系统

    决定要好好学习一下Linux了,不管是为了以后技术发展的需要抑或是满足自己的兴趣,都是时候来涉足一下了.我准备在我的ThinkPad X200i(一个老掉牙的老TP本子)上装一个Linux发行版,这里 ...

  2. Intellij IDEA+Maven+SpringMVC+HiBernate

    转载请注明出处:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生). 访问GitHub下载最新源码:https://github.com/gaussic/SpringMVCDemo

  3. Spring中ref local与ref bean区别

    今天在做SSH框架Demo实例时,在ApplicationResources.properties文件时对<ref bean>与<ref local>感到不解,经查找资料才弄明 ...

  4. xampp环境安装swoole

    手动编译php运行环境经常遇到函数库依赖的问题,这个错误搞定了,又蹦出来那个错误,很棘手,为了快速搭建一个swoole开发环境,于是另辟蹊径,直接下载安装xampp for linux,然后在用xam ...

  5. SilverLight搭建WCF聊天室详细过程

    收藏SL双工通信例子教程 SilverLight 4正式版发布给开发人员带来了更多功能,并且4已经支持NET.TCP协议,配合WCF开发高效率的交互应用程序已经不再是难事,本系列文章主要针对已经完成的 ...

  6. cv2.imread BGR模式

    openCV 的cv2.imread()导入图片时是BGR通道顺序,这与Matplotlib的显示,或者读取图片的通道不同,如果需要可以转换为RGB模式,以下代码显示不同之处,但BGR在许多地方使用, ...

  7. UIKit之浅析UIButton

    UIButton * button =[[UIButton alloc]init]; button.backgroundColor=[UIColor redColor]; [button setTit ...

  8. Oracle单个数据文件超过32G后扩容

    Oracle单个数据文件超过32G后扩容   表空间数据文件容量与DB_BLOCK_SIZE的设置有关,而这个参数在创建数据库实例的时候就已经指定.DB_BLOCK_SIZE参数可以设置为4K.8K. ...

  9. 偷懒的inline-block解决方法

    最近这几天看了inline-block的用法,用它来代替浮动实现水平排列很不错,只是要解决一下浏览器兼容和间隙的问题.关于ie6,7的兼容问题 <inline-block 前世今生>(ht ...

  10. Swift 闭包表达式

    闭包是功能性自包含模块,可以在代码中被传递和使用. Swift 中的闭包与 C 和 Objective-C 中的 blocks 以及其他一些编程语言中的 lambdas 比较相似. 闭包的形式主要有三 ...