消息(事件)驱动的程序设计
消息(事件)驱动的程序设计
主要内容 Vindows简介 ■消息驱动的程序结构 基于Vindows API的过程式Windows应 用程序设计 基于MFC和“文档一视”结构的面向对象 Windows应用程序设计
主要内容 ◼ Windows简介 ◼ 消息驱动的程序结构 ◼ 基于Windows API的过程式Windows应 用程序设计 ◼ 基于MFC和“文档-视”结构的面向对象 Windows应用程序设计
WVindows简介 Vindows是一种基于图形界面的多任务操作系 统。 ·系统中可以同时运行多个应用程序。 每个应用程序通过各自的“窗口”与用户进行交互。 用户通过鼠标的单击/双击/拖放、菜单选择以及键 盘输入来进行操作。 Windows的功能以两种方式提供: 工具(应用程序):资源管理器、记事本、画图 供用户使用。 函数库:作为Windows的应用程序接口(API) 以C语言函数形式提供(在windows.h等头文件中 申明)八,提供给应用程序使用
Windows简介 ◼ Windows是一种基于图形界面的多任务操作系 统。 • 系统中可以同时运行多个应用程序。 • 每个应用程序通过各自的“窗口”与用户进行交互。 • 用户通过鼠标的单击/双击/拖放、菜单选择以及键 盘输入来进行操作。 ◼ Windows的功能以两种方式提供: • 工具(应用程序):资源管理器、记事本、画图、 ......,供用户使用。 • 函数库:作为Windows的应用程序接口(API), 以C语言函数形式提供(在windows.h等头文件中 申明),提供给应用程序使用
Windows应用程序的类型 ■ 单文档应用 ·只能对一个文档的数据进行操作 ·必须首先结束当前文档的所有操作之后,才能进行下一个文 档的操作。 多文档应用 同时可以对多个文档的数据进行操作。 不必等到一个文档的所有操作结束,就可以对其它文档进行 操作,对不同文档的操作是在不同的子窗口中进行的。 对话框应用 以对话框的形式操作一个文档数据。 对文档数据的操作以各种“控件”(control)来实现。 程序以按<确定>或<取消>等按钮来结束
Windows应用程序的类型 ◼ 单文档应用 • 只能对一个文档的数据进行操作。 • 必须首先结束当前文档的所有操作之后,才能进行下一个文 档的操作。 ◼ 多文档应用 • 同时可以对多个文档的数据进行操作。 • 不必等到一个文档的所有操作结束,就可以对其它文档进行 操作,对不同文档的操作是在不同的子窗口中进行的。 ◼ 对话框应用 • 以对话框的形式操作一个文档数据。 • 对文档数据的操作以各种“控件”(control)来实现。 • 程序以按<确定>或<取消>等按钮来结束
消息驱动的程序结构 Vindows应用程序的结构属于消息(事件)驱动的 结构: 。程序的任何一个动作都是在接收到一条消息后发生的。 Windows的消息有: VM KEYDOWN/WM KEYUP(键盘按键 NM CHAR(字符) WM LBUTTONDOWN/WM LBUTTONUP/WM LBUT TONDBLCLK/NM MOUSEMOVE(鼠标按键 WM_COMMAND(菜单) NM PAINT(窗口内容刷新 WM TIMER(定时器消息)
消息驱动的程序结构 ◼ Windows应用程序的结构属于消息(事件)驱动的 结构: • 程序的任何一个动作都是在接收到一条消息后发生的。 ◼ Windows的消息有: • WM_KEYDOWN/WM_KEYUP(键盘按键) • WM_CHAR(字符) • WM_LBUTTONDOWN/WM_LBUTTONUP/WM_LBUT TONDBLCLK/WM_MOUSEMOVE (鼠标按键) • WM_COMMAND(菜单) • WM_PAINT(窗口内容刷新) • WM_TIMER(定时器消息) •