面向对象与可视化程序设计第二讲.ppt
《面向对象与可视化程序设计第二讲.ppt》由会员分享,可在线阅读,更多相关《面向对象与可视化程序设计第二讲.ppt(35页珍藏版)》请在三一办公上搜索。
1、1,第2讲 Windows 应用程序基础,2,可视化开发系统集成了一系列系统可用资源和开发工具,一、Windows编程基础,3,采用交互式方法时,可视化开发平台给出了许多选用的对象,程序员可选择所需对象并确定其属性,由此搭建起应用程序的“大框架”,并可根据需要进一步编写必要的细节代码段,最后构成完整的应用程序,编写Windows程序相当一部分工作是在创建对象和为对象属性赋值,对象特征:具有规范形态和操作模式,4,API,API函数的功能,5,利用Windows API函数编写Windows应用程序必须首先了解以下内容:(1)窗口的概念(2)事件驱动的概念(3)句柄(4)消息,6,(1)窗口一个
2、应用程序的窗口一般包含下列成分:,7,编写一个Windows应用程序首先应创建一个或多个窗口,随后应用程序的运行过程即是窗口内部、窗口与窗口之间、窗口与系统之间进行数据处理与数据交换的过程。,应用程序与用户之间交互的接口环境,系统管理应用程序的基本单位,Win应用程序基本的操作单元,8,Windows程序设计是针对事件或消息的处理进行,消息是描述事件发生的信息(如按下鼠标或键盘),事件驱动编程方法对于编写交互式程序很有用处,它避免了死板的操作模式,Windows程序的执行顺序取决于事件发生的顺序,程序的执行顺序是由顺序产生的消息驱动的,但是消息的产生往往并不要求有次序之分。,(2)事件驱动,9
3、,常用句柄类型及其说明,(3)句柄,应用程序通过句柄访问相应的对象信息,HWND窗口句柄HDC设备环境句柄HBITMAP位图句柄HCURSOR光标句柄HICON图标句柄HFONT字体句柄HMENU菜单句柄HPEN画笔句柄HFILE文件句柄HBRUSH画刷句柄HINSTANCE当前实例句柄,10,Windows应用程序利用Windows消息(Message)与应用程序及系统进行信息交换。,typedef struct tagMSG HWND hwnd;窗口句柄,为null,则可检索所有驻留在消息队列中的消息 UINT message;消息值,由Windows.h头文件中的宏定义来标识 WPARA
4、M wParam;包含有关消息的附加信息,不同消息其值有所不同 LPARAM lParam;DWORD time;指定消息送至队列的时间 POINT pt;指定消息发送时屏幕光标的位置,其数据类型POINT也是一个结构体MSG;,附加信息与具体消息号的值有关,在Win中消息用结构体MSG表示,typedef struct tagPOINT LONG x;LONG y;POINT;,(4)消息,11,(4)消息 VC中存在几种系统定义的消息分类,不同的前缀符号经常用于消息宏识别消息附属的分类,系统定义的消息宏前缀如下:,BM表示按钮控制消息CB表示组合框控制消息DM表示默认下压式按钮控制消息EM
5、表示编辑控制消息LB表示列表框控制消息SBM表示滚动条控制消息WM表示窗口消息,窗口管理消息初始化消息输入消息系统消息剪贴板消息控制处理消息控制通知消息滚动条通知消息非用户区消息MDI消息DDE消息应用程序自定义的消息,Windows编程常用消息,12,二、Windows应用程序常用消息,1.WM_LBUTTONDOWN:产生单击鼠标左键的消息,此外,相似的消息还有:WM_LBUTTONUP:放开鼠标左键时产生;WM_RBUTTONDOWN:单击鼠标右键时产生;WM_RBUTTONUP:放开鼠标右键时产生;WM_LBUTTONDBLCLK:双击鼠标左键时产生;WM_RBUTTONDBLCLK:
6、双击鼠标右键时产生。,13,2.WM_KEYDOWN:按下一个非系统键时产生的消息,系统键是指实现系统操作的组合键,例如Alt与某个功能键的组合以实现系统菜单操作等。,3.WM_ CHAR:按下一个非系统键时产生的消息,wParam 为按键的ASCII码1Param 与WM_KEYDOWN的相同,wParam:按下键的虚拟键码,用以标识按下或释放的键1Param:记录了按键的重复次数、扫描码、转移代码、先前键的状态等信息。,相似的消息还有WM_KEYUP,在放开非系统键时产生,如F1的虚拟键码在Windows.h文件中定义为VK_F1,14,4.WM_CREATE:由CreateWindow函
7、数发出的消息,wParam:未用1Param:包含一个指向CREATESTRUCT数据结构的指针,5.WM_CLOSE:关闭窗口时产生的消息,wParam和1Param均未用。,6.WM_DESTROY:由DestroyWiodow函数发出的消息,wParam和1Param均未用。,15,7.WM_QUIT:由PostQuitMessage函数发出的消息,退出应用程序时发出的消息wParam:含退出代码,标识程序退出运行时的有关信息1Param:未用,8.WM_PAINT,16,三、Windows中的事件驱动程序设计,过程驱动方法计算平均成绩,事件驱动方法计算平均成绩,17,四、Windows
8、应用程序组成及编程步骤,1.应用程序的组成,一个完整的Windows应用程序通常由五种类型的文件组成。,1.C语言源程序文件2.头文件3.模块定义文件4.资源描述文件5.项目文件,18,2.源程序组成结构,1.所有应用程序的入口,类似Main函数,2.完成一系列的定义和初始化,并产生消息循环,WinMain和WinProc是Windows应用程序的主体,19,(1)WinMain函数,三个基本的组成部分:函数说明、初始化和消息循环,WinMain函数,注意!Win是多任务管理的,同一应用程序的多个窗口可能会同时存,Win系统对每个窗口的执行称为一个实例,并用一个实例句柄来唯一标识,20,(2)
9、初始化,(a)窗口类定义,通过给窗口类数据结构WNDCLASS赋值完成,该数据结构中包含窗口类的各种属性。窗口类定义常用以下函数:,21,LoadCursor的作用是在应用程序中加载一个窗口光标HCURSOR LoadCursor(HINSTANCE hInstance,LPCTSTR lpCursorName),光标资源所在的模块句柄,NULL则使用系统预定义光标,光标资源名或系统预定义光标标识名,应用程序调用函数GetStockObject获取系统提供的背景刷HBRUSH GetStockObject(int nBrush);,22,(b)注册窗口类,Win系统本身提供部分预定义的窗口类,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 可视化 程序设计 第二
链接地址:https://www.31ppt.com/p-6442342.html