窗口过程函数传入的参数lParam包含了鼠标的位置,其中底位为x坐标,高位为y坐标,这些坐标值都是相对于窗口客户区的左上角的值,wParam中则包含了鼠标按钮的状态.

1、窗口消息:WM_CREATE,WM_DESTROY,WM_CLOSE

我们创建一个窗口对象的时候,这个窗口对象在创建过程中收到的就是WM_CREATE消息,对这个消息的处理过程一般用来设置一些显示窗口前的初始化工作,如设置窗口的大小,背景颜色等,WM_DESTROY消息指示窗口即将要被撤消,在这个消息处理过程中,我们就可以做窗口撤消前的一些工作。WM_CLOSE消息发生在窗口将要被关闭之前,在收到这个消息后,一般性的操作是回收所有分配给这个窗口的各种资源。在windows系统中资源是很有限的,所以回收资源的工作还是非常重要的。

2、键盘消息:WM_CHAR,WM_KEYDOWN,WM_KEYUP

这三个消息用来处理用户的键盘数据,当用户在键盘上按下某个键的时候,会产生WM_KEYDOWN消息,释放按键的时候又回产生WM_KEYUP消息,所以WM_KEYDOWN与WM_KEYUP消息一般总是成对出现的,至于WM_CHAR消息是在用户的键盘输入能产生有效的ASCII码时才会发生。这里特别提醒要注意前两个消息与WM_CHAR消息在使用上是有区别的。在前两个消息中,伴随消息传递的是按键的虚拟键码,所以这两个消息可以处理非打印字符,如方向键,功能键等。而伴随WM_CHAR消息的参数是所按的键的ASCII码,ASCII码是可以区分字母的大小写的。而虚拟键码是不能区分大小写的。

3、鼠标消息:WM_MOUSEMOVE,WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBCLICK,WM_RBUTTONDOWN, WM_RBUTTONUP,WM_RBUTTONDBCLICK

这组消息是与鼠标输入相关的,WM_MOUSEMOVE消息发生在鼠标移动的时候,剩余的六个消息则分别对应于鼠标左右键的按下、释放、双击事件,要指出的是WINDOWS系统并不是在鼠标每移动一个像素时都产生MOUSEMOVE消息,这一点要特别注意。
    4、另一组窗口消息:WM_MOVE , WM_SIZE , WM_PAINT

当窗口移动的时候产生WM_MOVE 消息,窗口的大小改变的时候产生WM_SIZE消息,而当窗口工作区中的内容需要重画的时候就会产生WM_PAINT消息。

5、焦点消息WM_SETFOCUS,WM_KILLFOCUS

当一个窗口从非活动状态变为具有输入焦点的活动状态的时候,它就会收到WM_SETFOCUS消息,而当窗口失去输入焦点的时候它就会收到WM_KILLFOCUS消息。

6、定时器消息:WM_TIMER

当我们为一个窗口设置了定时器资源之后,系统就会按规定的时间间隔向窗口发送WM_TIMER消息,在这个消息中就可以处理一些需要定期处理的事情。

最后要指出的一点是,在WINDOWS环境下,消息的来源是多方面的,最常见的是用户的操作产生消息,系统在必要的时候也会向程序发送系统消息,其他在运行中的程序也可以向程序发送消息。此外,在程序的内部,也可以根据需要在适当的时候主动产生消息,比如主动产生WM_PAINT消息以实现需要的重画功能。

上面介绍了MESSAGE栏中主要的消息,在MEMBER FUNCTION一栏中列出的是目前被选中的类已经有的成员函数。这些成员函数一般说来是与这个类可以接收的消息一一对应的。也就是说,一个成员函数一般总是用来处理某个特定的消息。如果在MESSAGE栏中的某个消息在程序中需要处理,但目前还没有相应的类成员函数,比如这里选中WM_TIMER这个消息,它目前还没有相应的对应的类的成员函数,单击ADD FUNCTION按钮,系统就自动为WM_TIMER消息在类中添加了对应的成员函数ONTIMER,单击EDITCODE按钮,可以发现系统已经自动生成了完成ONTIMER函数所需的基本代码,我们只要在这些基本代码的基础上再添加所需要的代码就可以了。注意对话框中的ADD CLASS按钮,它用来往当前应用程序中添加一个新的类。单击后选中NEW菜单,

系统弹出了NEW CLASS对话框用于生成一个新的类。在这个对话框中需要为类起个名字,设置类文件的名字,另外还要在BASE CLASS一栏 的下拉列表框中选择某个已有的类作为基类,设好需要的信息后单击OK就生成了一个新的类。CLASS WIZARD还有一些很强大的功能,这里就不再详细介绍,你会在不断的学习中慢慢地了解和掌握。

WM_MOUSEMOVE消息的wparam和lParam相关推荐

  1. 各种消息下wParam及lParam值的含义

    各种消息下wParam及lParam值的含义 01.WM_PAINT消息 LOWORD(lParam)是客户区的宽,HIWORD(lParam)是客户区的高   02.滚动条WM_VSCROLL或WM ...

  2. 常用的各种消息下wParam及lParam值的含义

    01.WM_PAINT消息 LOWORD(lParam)是客户区的宽,HIWORD(lParam)是客户区的高 02.滚动条WM_VSCROLL或WM_HSCROLL消息 LOWORD(wParam) ...

  3. 【转】各种消息下wParam及lParam值的含义

    01.WM_PAINT消息 LOWORD(lParam)是客户区的宽,HIWORD(lParam)是客户区的高 02.滚动条WM_VSCROLL或WM_HSCROLL消息 LOWORD(wParam) ...

  4. 消息中的wParam和lParam

    具体是这么说: "在Win 3.x中,WPARAM是16位的,而LPARAM是32位的,两者有明显的区别.因为地址通常是32位的,所以LPARAM 被用来传递地址,这个习惯在Win32 AP ...

  5. MFC 消息中( WPARAM wParam,LPARAM lParam)包含信息

    windows的消息具有以下两个参数: (1)字参数(wParam) (2)长参数(lParam) 字参数和长参数都是32位整数,用于提供消息的附带消息,是消息传递过程中参数的载体.附加信息的消息号取 ...

  6. wParam和lParam消息

    1 WM_PAINT消息,LOWORD(lParam)是客户区的宽,HIWORD(lParam)是客户区的高       2 滚动条WM_VSCROLL或WM_HSCROLL消息,LOWORD(wPa ...

  7. windows编程中wParam和lParam消息

    windows编程中wParam和lParam消息 1.WM_PAINT消息,LOWORD(lParam)是客户区的宽,HIWORD(lParam)是客户区的高. 2 滚动条WM_VSCROLL或WM ...

  8. 一些WM消息与其相应WPARAM,LPARAM的定义

    以下内容首发在我的百度空间:http://hi.baidu.com/legend_sss 1. WM_PAINT,WM_SIZE: LOWORD(lParam)是客户区的宽 HIWORD(lParam ...

  9. Windows 编程[10] - WM_LBUTTONDOWN、WM_LBUTTONUP 和 WM_MOUSEMOVE 消息

    为什么80%的码农都做不了架构师?>>>    本例效果图: program Project1;usesWindows,Messages;{供 WM_LBUTTONDOWN 消息调用 ...

最新文章

  1. Node.js学习笔记(一)
  2. [读书笔记]My Life--Bill Clinton
  3. matlab tf离散,求matlab离散化程序对于一个二阶传函,求其在MATLAB中的离散化程序.抱歉,没办法写清楚传函表达式.我试试:Gp(...
  4. java 过滤xss脚本_Java Web应用程序的反跨站点脚本(XSS)过滤器
  5. leetcode1047. 删除字符串中的所有相邻重复项(栈的日常应用)
  6. android bitmap oom 最新处理办法,【移动开发】Android中图片过大造成内存溢出,OOM(OutOfMemory)异常解决方法...
  7. 男人离婚后一般过得怎么样?
  8. xpage 传参_jQuery iScroll.js 移动端滚动条美化插件第1/5页
  9. 在回传时保持滚动位置
  10. linux给文件备份,Linux文件备份
  11. html 设置整体字体,html font标签如何设置字体样式
  12. .xmind用什么软件打开_xps用什么软件打开(xps文件打开方法)
  13. 常见电脑故障处理方法
  14. linux操作系统是著名的分布式系统,紫光展锐操作系统生态覆盖 Android、Linux、RTOS,面向分布式、智能化...
  15. postgresql源码安装
  16. 揭秘全美第一黑客组织Anonymous(匿名者)的装备库
  17. 两组数据的偏差率_GWT测试报告 篇七十五:隐患难忽视,RIVAL 3 WIRELESS精准度LOD测试...
  18. 深度学习中的tf.nn.softmax(logits, axis=1)以及tf.argmax(prob, axis=1)两个函数的参数以及用法
  19. Maven项目 springsecurity配置
  20. 30.set-UID set-gid stic_bit

热门文章

  1. nodejs egg 获取用户的登录ip位置,ua
  2. 金三银四求职季,程序员面试必备——数据库篇
  3. JVM基础及JVM调优及常见参数详解
  4. 单剂量给药下仓室药物模型半衰期的计算
  5. 词法分析二(词法分析程序)
  6. 什么是思维导图  绘制思维导图用什么工具
  7. 突发!TensorFlow技术主管皮特·沃登离职,重返斯坦福读博:我在谷歌“太难了”!...
  8. C#和Java练习题--坐标求夹角
  9. 100例经典Python核心实战提升练习题汇总(三)
  10. 高效开发,项目中是否有聚合服务接口