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;
http://www.cnblogs.com/del/archive/2008/10/31/1323813.html
定义的和未定义的:
已有定义的系统命令常数(感觉有些有问题): SC_SIZE = 61440; SC_MOVE = 61456; SC_MINIMIZE = 61472; SC_MAXIMIZE = 61488; SC_NEXTWINDOW = 61504; SC_PREVWINDOW = 61520; SC_CLOSE = 61536; SC_VSCROLL = 61552; SC_HSCROLL = 61568; SC_MOUSEMENU = 61584; SC_KEYMENU = 61696; SC_ARRANGE = 61712; SC_RESTORE = 61728; SC_TASKLIST = 61744; SC_SCREENSAVE = 61760; SC_HOTKEY = 61776; SC_DEFAULT = 61792; SC_MONITORPOWER = 61808; SC_CONTEXTHELP = 61824; SC_SEPARATOR = 61455; SC_ICON = SC_MINIMIZE; SC_ZOOM = SC_MAXIMIZE; 未定义的系统命令常数: 61441: 拖动左边框 61442: 拖动右边框 61443: 拖动上边框 61444: 拖动左上角 61445: 拖动右上角 61446: 拖动下边框 61447: 拖动左下角 61448: 拖动右下角 61458: 拖动标题栏 61558: 横向滚动条滚动 61574: 双击横向滚动条 61575: 纵向滚动条滚动 61559: 双击纵向滚动条 61587: 点击最小化图标 61490: 在非最大化时双击标题栏 61730: 在最大化时双击标题栏
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