Windows消息大全.doc
文本预览下载声明
Windows消息大全
我在实际编程中越来越感到消息的相应在我们的程序中是一个非常重要的部分,有一些普
通的消息我们可以在ClassWizard的添加其相应函数,但就算我们能找到一些消息但有的时
候也不知道是什么意思,相应他有什么用,还有一些特殊的消息是在ClassWizard里没有的
,只有有丰富经验的才知道,这对我们操作程序带来很大不便,所以我在此提议各位朋友
把自己知道的消息以及参数还有VC里默认的相应函数列举出来,尽自己的努力帮助大家了
解windows的消息,也帮助自己
在此我先抛砖引玉:
消息 MSG_MAP 相应函数 作用
WM_LBUTTONDOWN ON_WM_LBUTTONDOWN() OnLButtonDown(UINT nFlags, CPoint point)
相应鼠标左健单击
WM_ERASEBKGND ON_MESSAGE(WM_ERASEBKGND, OnEraseBkgnd) OnEraseBkgnd(CDC *pDC)
当背景重画时相应
回复人: xiaoxieyu(小鱼) ( ) 信誉:100 2002-5-28 14:09:37 得分:90
WINDOWS消息说明
消息,就是指Wi n d o w s发出的一个通知,告诉应用程序某个事情发生了。例如,单击
鼠标、改变
窗口尺寸、按下键盘上的一个键都会使Wi n d o w s发送一个消息给应用程序。
消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息
。例如,
对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫
做T M s g,它
在Wi n d o w s单元中是这样声明的:
t y p e
TMsg = packed record
hwnd: HWND; / /窗口句柄
message: UINT; / /消息常量标识符
wParam: WPA R A M ; // 32位消息的特定附加信息
lParam: LPA R A M ; // 32位消息的特定附加信息
time: DWORD; / /消息创建时的时间
pt: TPoint; / /消息创建时的鼠标位置
e n d ;
消息中有什么?
是否觉得一个消息记录中的信息像希腊语一样?如果是这样,那么看一看下面的解释:
hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可
视对象的句柄(窗口、对话框、按钮、编辑框等)。
message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也
可以是自定义的常量。
wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。
lParam 通常是一个指向内存中数据的指针。由于W P a r a m、l P a r a m和P 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;
当用户选择结束对话框或程序自己调用ExitWindow
显示全部