Windows程序采用如下图所示的事件驱动编程模型,应用程序通过处理操作系统发送来的消息来响应事件。事件可能是一次击键、鼠标单击或是要求窗口更新的命令以及其他事情。Windows程序的进入点是函数WinMain,但是大多数操作是在称为窗口过程的函数中进行的。窗口过程函数处理发送给窗口的消息。WinMain 函数创建该窗口并进入消息循环,即获取消息或将其调度给窗口过程。消息被检索之前处于消息队列中等待。一个典型的应用程序的绝大部分操作是在响应它收到的消息,除了等待下一个消息到达以外,它几乎什么也不做。

1.1.1消息

大多数消息的开始字符为“WM”并带有下划线,常用的Windows消息。

消息 发送的条件
WM_CHAR 从键盘输入字符
WM_COMMAND 用户选择菜单内的某项,或者控件给其父类发送了一个通知
WM_CREATE 生成窗口
WM_DESTROY 撤销窗口
WM_LBUTTONDOWN 按下鼠标左键
WM_LBUTTONUP 释放鼠标左键
WM_MOUSEMOVE 移动鼠标指针
WM_PAINT 窗口需要重新绘制
WM_QUIT 应用程序将结束
WM_SIZE 窗口尺寸被调整

消息以调用一个窗口的窗口过程的形式来表明自己的存在。与该调用相伴随的是4个输入参数:消息所指窗口的句柄、-个消息ID和两个名为wParam和 lParam 的32位参数。窗口句柄是一个唯一地标识窗口的32位值。在内部,该值引用一个数据结构,Windows 在其中存储着有关窗口的信息,例如窗口的大小,风格及其在屏幕上的位置。消息ID是用来标识消息类型的一个数值:WM_CREATE、WM_PAINT等等。wParam和lParam包含关于特定消息类型的信息。例如,当一个WM_LBUTTONDOWN消息到达时, wParam将保存–系列位标志以标识Ctrl和 Shift键以及鼠标按钮的状态。当鼠标单击发生时, lParam保存两个16位值来标识鼠标指针的位置。这些参数一起向窗口过程提供它所需要的处理WM_LBUTTON-DOWN消息的所有信息。

 

 

原文地址:http://www.cnblogs.com/HRDK-CADeveloper/p/16867679.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性