第五章 MFC(C++教程PPT课件)

第五章 MFC(C++教程PPT课件)

ID:43170714

大小:1.14 MB

页数:70页

时间:2019-10-01

第五章 MFC(C++教程PPT课件)_第1页
第五章 MFC(C++教程PPT课件)_第2页
第五章 MFC(C++教程PPT课件)_第3页
第五章 MFC(C++教程PPT课件)_第4页
第五章 MFC(C++教程PPT课件)_第5页
资源描述:

《第五章 MFC(C++教程PPT课件)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、本章主要学习内容:5.1Windows的编程机制(API)5.2MFC的基本原理和使用方法:5.2.1MFC概述(对应教材的第五章)5.2.2MFC应用程序框架5.2.3MFC消息管理5.2.4MFC宏5.3常用的MFC类5.1Windows编程机制(API)Windows是一个多进程的图形窗口操作系统,Windows应用程序与DOS应用程序有很大的区别。DOS应用程序采用顺序执行过程,而Windows是一个基于事件的消息(Message)驱动系统。Windows应用程序是按照“事件→消息→处理”非顺序的机制运行。当有某个事件(如单击鼠

2、标、键盘输入和执行菜单命令等)发生时,Windows会根据具体的事件产生对应的消息,并发送到指定应用程序的消息队列;应用程序从消息队列中取出消息,并根据不同的消息进行不同的处理。WindowsAPI(ApplicationProgrammingInterface)是Windows操作系统与应用程序之间的标准接口,它提供了上千个标准函数、宏和数据结构的定义。在使用VisualC++、VisualBasic和Delphi编程时都可以调用WindowsAPI函数,Windows应用程序可通过调用标准WindowsAPI函数使用系统提供的功能。

3、WindowsAPI函数定义在一些DLL动态链接库中,其中最主要的DLL是User32.dll、Gdi32.dll和Kernel32.dll三个库文件。5.1.1关于API和SDK传统SDK编程:程序员通过调用API函数,自己动手、按部就班地实现程序各部分的功能。SDK应用程序的结构比较清晰,但程序员必须编写所有的功能代码。利用VisualC++编写一个类SDK应用程序:首先利用Win32Application向导建立一个Windows应用程序框架,然后根据需要可以向程序项目中添加一些头文件、实现源文件和资源文件,并编写具体的程序代码。

4、例编写一个名为Hello的类SDK应用程序,当单击鼠标时通过调用API函数,以弹出一个提示信息对话框。1.执行“File

5、New”菜单命令,在New对话框的Project页面中选择Win32Application项目类型,输入程序名Hello。在向导第1步选择“Atypital“Helloworld!”application”项,单击Finish按钮。2.在窗口函数WndProc()的消息处理分支switch-case结构中添加WM_LBUTTONDOWN鼠标单击消息及其处理代码:caseWM_LBUTTONDOWN:MessageBo

6、x(NULL,"Youpressedtheleftbuttonofmouse!","Message",NULL);break;SDK应用程序结构:一个由API函数构造的Windows程序的功能由三个部分组成:入口函数、窗口函数和Windows系统。每一个程序都有一个主函数,WinMain()函数就是Windows程序的入口主函数。该函数的主要任务是完成一些初始化工作并维护一个消息循环。当消息循环结束后,就退出了WinMain()函数,也就退出了应用程序。此外,WinMain()函数还负责完成窗口的注册、创建和显示。Windows程序以窗

7、口的形式存在,在不同窗口之间传递消息是Windows和应用程序进行交流的主要形式。程序具体功能由不同的窗口函数实现。5.1.2句柄在Windows中,用句柄(Handle)标识应用程序中不同的对象和同类对象中不同的实例,如一个具体的窗口、按钮、输出设备、画笔和文件等。通过句柄可以获得相应的对象信息。常用的句柄类型有:HWND、HINSTANCE、HDC、HCURSOR、HICON、HMENU等。句柄常作为Windows消息和API函数的参数,在采用API方法编写Windows应用程序时要经常使用句柄。而采用MFC方法编写Windows应

8、用程序时,由于对应的MFC类已对句柄进行了封装,大多数情况下不再需要访问句柄。获取MFC类对象的句柄的两种方法:通过访问类的public属性成员变量,如类CWnd的成员变量m_hWnd就是一个窗口对象的句柄。先定义一个句柄,然后调用MFC类的成员函数Attach()将句柄与一个MFC类对象联系在一起,此时的句柄就成为该MFC类对象的句柄。在退出对象作用域之前,调用成员函数Detach()将句柄和对象进行分离。如下所示:CWndmyWnd;HWNDhWnd;myWnd.Attach(hWnd);......myWnd.Detach();所

9、谓消息就是用于描述某个事件发生的信息,而事件是对于Windows的某种操作。事件和消息密切相关,事件是因,消息是果,事件产生消息,消息对应事件。所谓消息的响应,其实质就是事件的响应。消息驱动是Windows

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。