`
isiqi
  • 浏览: 16051341 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

VCL中常用消息汇总

阅读更多

http://www.delphifans.com/InfoView/Article_53.html
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg

它在Windows单元中是这样声明的:
type
TMsg = packed record
hwnd: HWND; / /
窗口句柄
message: UINT; / /
消息常量标识符
wParam: WPARAM ; // 32
位消息的特定附加信息
lParam: LPARAM ; // 32
位消息的特定附加信息
time: DWORD; / /
消息创建时的时间
pt: TPoint; / /
消息创建时的鼠标位置
end;

消息中有什么?

是否觉得一个消息记录中的信息像希腊语一样?如果是这样,那么看一看下面的解释:
hwnd 32
位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)
message
用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。
wParam
通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。
lParam
通常是一个指向内存中数据的指针。由于W P a r a ml P a r a mP o i n t e r都是3 2位的,
因此,它们之间可以相互转换。

WM_NULL = $0000;
WM_CREATE = $0001;
应用程序创建一个窗口
WM_DESTROY = $0002;
一个窗口被销毁
WM_MOVE = $0003;
移动一个窗口
WM_SIZE = $0005;
改变一个窗口的大小
WM_ACTIVATE = $0006;
一个窗口被激活或失去激活状态;
WM_SETFOCUS = $0007;
获得焦点后
WM_KILLFOCUS = $0008;
失去焦点
WM_ENABLE = $000A;
改变enable状态
WM_SETREDRAW = $000B;
设置窗口是否能重画
WM_SETTEXT = $000C;

应用程序发送此消息来设置一个窗口的文本
WM_GETTEXT = $000D;
应用程序发送此消息来复制对应窗诘奈谋镜交撼迩?
WM_GETTEXTLENGTH = $000E;
得到与一个窗口有关的文本的长度(不包含空字符)
WM_PAINT = $000F;
要求一个窗口重画自己
WM_CLOSE = $0010;
当一个窗口或应用程序要关闭时发送一个信号
WM_QUERYENDSESSION = $0011;
当用户选择结束对话框或程序自己调用ExitWindows函数
WM_QUIT = $0012;
用来结束程序运行或当程序调用postquitmessage函数
WM_QUERYOPEN = $0013;
当用户窗口恢复以前的大小位置时,把此消息发送给某个图标
WM_ERASEBKGND = $0014;
当窗口背景必须被擦除时(例在窗口改变大小时)
WM_SYSCOLORCHANGE = $0015;
当系统颜色改变时,发送此消息给所有顶级窗口
WM_ENDSESSION = $0016;
当系统进程发出WM_QUERYENDSESSION消息后,此消息发送给应用程序,
通知它对话是否结束
WM_SYSTEMERROR = $0017;
WM_SHOWWINDOW = $0018;
当隐藏或显示窗口是发送此消息给这个窗口
WM_ACTIVATEAPP = $001C;
发此消息给应用程序哪个窗口是激活的,哪个是非激活的;
WM_FONTCHANGE = $001D;
当系统的字体资源库变化时发送此消息给所有顶级窗口

WM_TIMECHANGE = $001E;
当系统的时间变化时发送此消息给所有顶级窗口
WM_CANCELMODE = $001F;
发送此消息来取消某种正在进行的摸态(操作)
WM_SETCURSOR = $0020;
如果鼠标引起光标在某个窗口中移动且鼠标输入没有被捕获时,就发消息给某个窗口
WM_MOUSEACTIVATE = $0021;
当光标在某个非激活的窗口中而用户正按着鼠标的某个键发送此消息给当前窗口
WM_CHILDACTIVATE = $0022;
发送此消息给MDI子窗口当用户点击此窗口的标题栏,或当窗口被激活,移动,改变大小
WM_QUEUESYNC = $0023;
此消息由基于计算机的训练程序发送,通过WH_JOURNALPALYBACKhook程序
分离出用户输入消息
WM_GETMINMAXINFO = $0024;
此消息发送给窗口当它将要改变大小或位置;
WM_PAINTICON = $0026;
发送给最小化窗口当它图标将要被重画
WM_ICONERASEBKGND = $0027;
此消息发送给某个最小化窗口,仅当它在画图标前它的背景必须被重画
WM_NEXTDLGCTL = $0028;
发送此消息给一个对话框程序去更改焦点位置
WM_SPOOLERSTATUS = $002A;
每当打印管理列队增加或减少一条作业时发出此消息
WM_DRAWITEM = $002B;
buttoncomboboxlistboxmenu的可视外观改变时发送
此消息给这些空件的所有者
WM_MEASUREITEM = $002C;
button, combo box, list box, list view control, or menu item 被创建时
发送此消息给控件的所有者

WM_DELETEITEM = $002D;

分享到:
评论

相关推荐

    vcl.donet vcl vcl vcl

    vcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donetvcl.donet

    vcl70bpl组件

    vcl70bpl组件 vcl70.bpl

    用VCL样式为VCL应用程序换肤.flv

    用VCL样式为VCL应用程序换肤.flv

    深入BCB理解VCL的消息机制.rar_bcb_vcl

    深入BCB理解VCL的消息机制

    DevexpressVCL 18.1.6自动安装 支持XE10.3 支持vclstyle

    DevExpressVCL_18.1.6_自动安装_支持最新XE_10.3支持vclstyle,DevExpressVCL_18.1.6_自动安装_支持最新XE_10.3支持vclstyle

    DevExpressVCL 23.1.4 D12.7z

    DevExpress VCL是一个功能强大的界面开发工具包,专为Delphi和C++ Builder开发人员设计。它提供了丰富的可视化组件和工具,帮助开发人员快速构建现代化、功能丰富的桌面应用程序。 DevExpress VCL具有以下主要特点...

    DevExpress VCL 18.1.4 Full Sources

    1套是源码文件(每种组件一个文件夹),1个是一键编译安装工具,1个是清除水印程序。...DevExpress VCL Subscription曾用名为"Developer Express VCL Subscription"。 【适用范围】:VCL应用程序开发

    DevExpress VCL V14.2.2 FullSource〖XE8〗含编译文件

    拥有180多种VCL界面控件,功能丰富且易于上手 DevExpress VCL Subscription 是 Devexpress公司旗下用户...DevExpress VCL Subscription曾用名为"Developer Express VCL Subscription"。 【适用范围】:VCL应用程序开发

    vcl 64位播放器

    vcl 64位播放器,支持各种流媒体播放,windows系统运行

    深入VCL理解BCB的消息机制

    深入VCL理解BCB的消息机制;深入VCL理解BCB的消息机制.

    DevExpress VCL V19.1.2 FullSource〖D7~D10.3Rio〗内含安装工具

    请低调使用!请低调使用!请低调使用!请低调使用!请低调使用!请低调使用! 解压后包括:1套是源码...DevExpress VCL Subscription曾用名为"Developer Express VCL Subscr i ption"。 【适用范围】:VCL应用程序开发

    CAD VCL Enterprise V14

    声明:此文件在网上所得,仅供研究用,请在下载后24小时内删除,并请不要用于商业用途,请支持正版! CAD VCL是一个高品质多功能且含源码的控件,它提供了几个强大的类用于为您的Delphi/C++Builder应用程序创建Auto...

    DevExpress VCL V18.2.5 FullSource〖D7~D10.3Rio〗内含安装工具

    请低调使用!请低调使用!请低调使用!请低调使用!请低调使用!请低调使用! 解压后包括:1套是源码...DevExpress VCL Subscription曾用名为"Developer Express VCL Subscr iption"。 【适用范围】:VCL应用程序开发

    DevExpress VCL V14.2.2 FullSource〖D7~XE7〗含编译文件

    解压后XE7有编译文件,其他版本需要修改编译文件,请阅读说明文档; 另附一键安装工具下载地址(CSDN...DevExpress VCL Subscription曾用名为"Developer Express VCL Subscription"。 【适用范围】:VCL应用程序开发

    Inside VCL(深入核心——VCL架构剖析)

    Inside VCL,看看VCL架构,剖析VCL架构,深入核心地剖析。

    vcl60.bpl

    vcl60.bpl c++ builder

    深入核心——VCL架构剖析.part2

    紧密融合OO理念和设计模式,用OO理念重新考量VCL,指出其中优 秀和不妥之处;让您在了解VCL Framework的同时,体验源自顶尖程 序员的OO观。 <br>http://www.dearbook.com.cn/book/12996<br>

    VCL消息处理机制的内幕

    VCL消息处理机制的内幕 很好的delphi消息机制介绍

    VCL Styles Utils

    自从用了这个项目,我就不使用任何三方皮肤控件了。 The VCL Styles Utils is a collection of classes and style hooks, which extend, fix QC reports and add new features to the VCL Styles (introduced in ...

    DevExpressVCL17.2.4 附安装文件

    亲测:XE10全部版本可用 拥有180多种VCL界面控件,功能丰富且易于上手 DevExpress VCL Subscription 是 ...DevExpress VCL Subscription曾用名为"Developer Express VCL Subscription"。 【适用范围】:VCL应用程序开发

Global site tag (gtag.js) - Google Analytics