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. C/C++ 结构体成员在内存中的对齐规则(转载)

    这几天在看王艳平的<windows 程序设计>,第5章讲解了MFC框架是怎么管理窗口句柄到窗口实例之间的映射,用到了两个类CPlex和CMapPtrToPtr,用于管理内存分配的类(避免因 ...

  2. Linux学习之nl命令

    nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...

  3. C++中的函数指针和指针函数

    C++中的函数指针和指针函数       数组名一般可以被当成指向数组第一个元素的常量指针,同样的情况,在函数中,函数名可以本当成指向函数的常量指针,假如一个函数已经定义,那么它在计算机中一定有特定的 ...

  4. HTTP性能测试

    HTTP性能测试 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB",& ...

  5. <转>eclipse如何修改dynamic web module version .

         --------------------------------------------------------------------------------------------- 原 ...

  6. SQL Server MYSQL 检查点的好处

    执行检查点时: 如果一个事务不没有提交.日志缓存还是会被更新到磁盘上的物理文件. 这样做就使得大事务commit 时也特别快!

  7. 限制Inactive物料录入BOM

    应用 Oracle Bill Of   Materiel 层 Level Function 函数名 Funcgtion Name CUX_BOMFDBOM 表单名 Form Name CUXBOMFD ...

  8. C++中的随机数函数(

    标签:ul 随机数 c 整数 max 教育  C++中产生随机数种子对于刚開始学习的人一直都非常困惑.大家知道,在C中有专门的srand(N)函数能够轻松实现这一功能,然而在C++中则要复杂一些.以下 ...

  9. 采用proguard困惑android代码

    当前是有些工具比方apktool,dextojar等是能够对我们android安装包进行反编译.获得源代码的.为了降低被别人破解,导致源代码泄露,程序被别人盗代替码,等等.我们须要对代码进行混淆.an ...

  10. 存储过程中调用EXECUTE IMMEDIATE的“权限不足”问题

    使用plsql 动态创建表时,用户需要具有create any table 权限 例如: create or replace procedure create_table_test is tmpstr ...