含当前光标的 坐标值 MK_LBUTTON 按下鼠标左键 MK_MBUTTON 按下鼠标中键 MK_RBUTTON 按下鼠标右键
wParam包含一整 包含一整 数值以标识鼠标键 的按下状态
此外,相似的消息还有: 此外,相似的消息还有: WM_LBUTTONUP:放开鼠标左键时产生; :放开鼠标左键时产生; WM_RBUTTONDOWN:单击鼠标右键时产生; :单击鼠标右键时产生; WM_RBUTTONUP:放开鼠标右键时产生; :放开鼠标右键时产生; WM_LBUTTONDBLCLK:双击鼠标左键时产生; :双击鼠标左键时产生; 17 WM_RBUTTONDBLCLK:双击鼠标右键时产生。 :双击鼠标右键时产生。
2. WM_KEYDOWN:按下一个非系统键时产生的消息 非系统键时产生的消息 :按下一个非系统键 系统键是指实现系统操作的组合键,例如 与某个功 系统键是指实现系统操作的组合键,例如Alt与某个功 是指实现系统操作的组合键 能键的组合以实现系统菜单操作等。 能键的组合以实现系统菜单操作等。
如F1的虚拟键码 的虚拟键码 windows.h文 在windows.h文 件中定义为VK_F1 件中定义为VK_F1 wParam:按下键的虚拟键码,用以标识按下或释放的键 :按下键的虚拟键码, 虚拟键码 lParam:记录了按键的重复次数、扫描码、转移代码、先前键的状态 :记录了按键的重复次数、扫描码、转移代码、 等信息。 等信息。
相似的消息还有WM_KEYUP, 在放开非系统键时产生 相似的消息还有 3. WM_ CHAR:按下一个非系统键时产生的消息 非系统键时产生的消息 :按下一个非系统键 wParam 为按键的 为按键的ASCII码 码 lParam 与WM_KEYDOWN的相同 的相同
18
4. WM_CREATE:由CreateWindow函数发出的消息 : 函数发出的消息 wParam:未用 : lParam:包含一个指向 :包含一个指向CREATESTRUCT数据结构 数据结构 的指针 5. WM_CLOSE:关闭窗口时产生的消息 : wParam和lParam均未用。 和 均未用。 均未用 6. WM_DESTROY:由DestroyWiodow函数发出的消息 函数发出的消息 wParam和lParam均未用。 和 均未用。 均未用
19
7. WM_QUIT:由PostQuitMessage函数发出的消息 : 函数发出的消息 退出应用程序时发出的消息 wParam:含退出代码 标识程序退出运行时的有关信息 :含退出代码,标识程序退出运行时的有关信息 1Param:未用 : 8. WM_PAINT 用户区移动或显示 用户窗口改变大小 程序通过滚动条滚动窗口 下拉式菜单关闭并需要恢复被覆盖的部分 Windows清除对话框等对象,并需要恢复被覆盖的部分 20 清除对话框等对象, 清除对话框等对象 均产生 WM_PAINT
消息
三、Windows中的事件驱动程序设计 中的事件驱动程序设计
启动 输入 输入第一次测试成绩 输入第二次测试成绩 输入第三次测试成绩 计算平均成绩 结束 结束 消息处理 启动 输入 输入第一次成绩 输入第二次成绩 输入第三次成绩 计算平均成绩
过程驱动方法计算平均成绩 过程驱动方法计算平均成绩
事件驱动方法计算平均成绩 事件驱动方法计算平均成绩
21
四、Windows应用程序组成及编程步骤 应用程序组成及编程步骤
1. 应用程序的组成
一个完整的Windows 一个完整的 应用程序通常由 通常由五种 应用程序通常由五种 类型的文件组成 的文件组成。 类型的文件组成。
1.C语言源程序文件 1.C语言源程序文件 2.头文件 2.头文件 3.模块定义文件 3.模块定义文件 4.资源描述文件 4.资源描述文件 5.项目文件 5.项目文件
22
? ? ? ? ?
CLW (支持ClassWizard ) DSP (项目文件) DSW (
工作空间文件) NCB (支持ClassView) OPT (保持工作空间的配置) PLG (建立日志文件)
23
2. 源程序组成结构
1. 所有应用程序的入口,类似 所有应用程序的入口,类似Main函数, 函数, 函数 2. 完成一系列的定义和初始化,并产生消息循环 完成一系列的定义和初始化,
入口函数WinMain 入口函数 Windows 应用程序 窗口函数WndProc 窗口函数WndProc
构成基 本框架
包含各种 数据类型、 数据类型、 数