【vc++精品源码栏目提醒】:本文主要为网学会员提供“应用程序【PPT-精品】 - 综合课件”,希望对需要应用程序【PPT-精品】 - 综合课件网友有所帮助,学习一下!
第2讲 Windows 应用程序基础 1一、Windows编程基础 程序调试工具 可选择并构成具体 资源管理器 包括源程序语 语句或源程序结构 包括图形化窗 法检查、可执 口及组成元素 的例程库及Help 行程序修改和 的多种对象的 运行监视等 编辑器 可视化开发 系统集成了一系 列系统可用资源 和开发工具 应用程序Help 系统函数库和 和Setup开发 源程序编辑 系统函数开发 工具包 器和编译器 工具 2 Windows的 VC 都是“面向对象” 程序设计语言
VB VJ 的程序设计语言 窗口 编写Windows 对象是Windows 菜单 程序相当一部分工 的规范部件 按钮 作是在创建对象和 对话框 为对象属性赋值 程序模块 对象特征:具有规范形态和操作模式 编程方法 传统编写法--API 交互式方法--MFC采用交互式方法时,可视化开发平台给出了许多选用的对象,程序员可选择所需对象并确定其属性,由此搭建起应用程序的“大框架”,并可根据需要进一步编写必要的细节代码段,最后构成完整的应用程 3为应用程序提 窗口管理函数供Windows系 实现窗口的创统特殊函数及 建、移动和修数据结构 改功能Win应用程序 系统服务函数可以利用标准 API函数 :实现与操作大量API函数 API 的功能 系统有关的多调用系统功能 种功能是Win系统与 图形设备GDIWin应用程序 函数:实现与间的标准程序 设备无关的图接口 形操作功能 4 利用Windows API函数编写Windows应用程序必须首先了解以下内容:1窗口的概念2事件驱动的概念3句柄4消息 5 1 窗口 一个应用程序的窗口一般包含下列成分: 最大化按钮控制菜单框 下拉菜单 最小化按钮 标题栏
工作区 垂直滚动条窗口边界 水平滚动条 6 系统管理 应用程序 的基本单位 应用程 序与用 户之间 交互的 接口环 境 Win应用程序 基本的操作单元编写一个Windows应用程序首先应创建一个或多个窗口,随后应用程序的运行过程即是窗口内部、窗口与窗口之间、窗口与系统之间 7进行数据处理与数据交换的过程。
2事件驱动 消息是描述事 件发生的信息 如按下鼠标或键盘 Windows程序
设计是针对事件或消息的处理进行Windows程序的执行顺序取决于事件发生的顺序,
程序的执行顺序是由顺序产生的消息驱动的,但是消息的产生往往并不要求有次序之分。
事件驱动编程方法对于编写交互式程序很有用处,它避免了死板的操作模式 83 句柄句柄是一个4字节长的数值,用于标识应 窗口用程序中不同的对象和同类对象中不同的 按钮实例 图标 滚动条 应用程序通过 输出设备 句柄访问相应 控制 的对象信息 文件 常用句柄类型及其说明HWND 窗口句柄 HDC 设备环境句柄HBITMAP 位图句柄 HCURSOR 光标句柄HICON 图标句柄 HFONT 字体句柄HMENU 菜单句柄 HPEN 画笔句柄HFILE 文件句柄 HBRUSH 画刷句柄 9HINSTANCE 当前实例句柄4 消息 Windows应用程序利用Windows消息 Message与应用程序及系统进行信息交换。
消息号:由事先定义好的消息名标识 附加信息与具体消 字参数wParam :用于提供消息的附加 消息号的值有关,息 信息 在Win中消息用 长字参数lParam :用于提供消息的附 结构体MSG表示 加信息typedef struct tagMSGHWND hwnd 窗口句柄,为null,则可检索所有驻留在消息队列中的消息 UINT message消息值,由Windows.h头文件中的宏定义来标识 WPARAM wParam 包含有关消息的附加信息不同消息其值有所不同 LPARAM lParam typedef struct tagPOINT DWORD time 指定消息送至队列的时间 LONG x; POINT pt指定消息发送时屏幕光标的位置, 其数据类型POINT也是一个结构体 LONG y 10MSG POINT4 消息 VC中存在几种
系统定义的消息分类,不同的前缀符号经常用于消息宏识别消息附属的分类,系统定义的消息宏前缀如下: BM 表示按钮控制消息 CB 表示组合框控制消息 窗口管理消息 DM 表示默认下压式按钮控制消息 初始化消息 EM 表示编辑控制消息 输入消息 LB 表示
列表框控制消息 系统消息 SBM 表示滚动条控制消息 剪贴板消息 WM 表示窗口消息 控制处理消息 控制通知消息 滚动条通知消息 非用户区消息 Windows MDI消息 编 DDE消息 程
常用消 应用程序自定义的消息 11 二、Windows应用程序常用消息1. WM_LBUTTONDOWN:产生单击鼠标左键的消息 低字节包含当前光标的X坐标值lParam 高字节包含当前光标的Y坐标值wParam包含一整 MK_LBUTTON 按下鼠标左键数值以标识鼠标键 MK_MBUTTON 按下鼠标中键的按下状态 MK_RBUTTON 按下鼠标右键此外,相似的消息还有: WM_LBUTTONUP:放开鼠标左键时产生; WM_RBUTTONDOWN:单击鼠标右键时产生; WM_RBUTTONUP:放开鼠标右键时产生; WM_LBUTTONDBLCLK:双击鼠标左键时产生; WM_RBUTTONDBLCLK:双击鼠标右键时产生。
122. WM_KEYDOWN:按下一个非系统键时产生的消