WINDOWS消息经常使用十六进制的常数

作者在 2007-08-27 07:07:00 发布以下内容

       消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Wi  n  d  o  w  s发送一个消息给应用程序。  
       消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做T  M  s  g,它在Wi  n  d  o  w  s单元中是这样声明的:  
type  
  TMsg  =  packed  record  
  hwnd:  HWND;  /  /窗口句柄  
  message:  UINT;  /  /消息常量标识符  
  wParam:  WPA  R  A  M  ;  //  32位消息的特定附加信息  
  lParam:  LPA  R  A  M  ;  //  32位消息的特定附加信息  
  time:  DWORD;  /  /消息创建时的时间  
  pt:  TPoint;  /  /消息创建时的鼠标位置  
end  ;  
       消息中有什么?  是否觉得一个消息记录中的信息像希腊语一样?如果是这样,那么看一看下面的 解释:  
        hwnd  32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。  
       message  用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。

       wParam  通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。  
       lParam  通常是一个指向内存中数据的指针。

      由于WParam、lParam和Pointer都是32位的,因此,它们之间可以相互转换。

  
   WM_NULL                         = &H0000;  
   WM_CREATE                    = &H0001;  '应用程序创建一个窗口  
   WM_DESTROY                  = &H0002;  '一个窗口被销毁  
   WM_MOVE                        = &H0003;  '移动一个窗口  
   WM_SIZE                           = &H0005;  '改变一个窗口的大小  
   WM_ACTIVATE                 = &H0006;  '一个窗口被激活或失去激活状态;  
   WM_SETFOCUS     

VB心得 | 阅读 2731 次
文章评论,共0条
游客请输入验证码