- 17
- 0
- 约9.95千字
- 约 56页
- 2017-08-20 发布于浙江
- 举报
MFC简介ppt的
第 6 章
; 一个优秀的编程工具往往匹配一个功能强大的类库,类库封装了大量Windows编程需要使用的函数和数据结构。与Visual C++捆绑在一起的MFC(Microsoft Foundation Class)微软基础类就是这样一个由Microsoft公司设计的类库。采用MFC方式编程提高了Windows应用程序的开发效率,但由于MFC应用程序结构的复杂性和透明性,要想完全掌握MFC应用程序的内部机制需要付出很大的努力。
认识MFC只是一个过程、一个手段,最终目的是为了良好并熟练地运用MFC。 ;本章主要学习内容:
Windows的编程机制
MFC的基本原理和使用方法:
MFC类
MFC应用程序框架
MFC消息管理
MFC宏
常用的MFC类;6.1 Windows编程机制 ;Windows API(Application Programming Interface)是Windows操作系统与应用程序之间的标准接口,它提供了上千个标准函数、宏和数据结构的定义。
在使用Visual C++、Visual Basic和Delphi编程时都可以调用Windows API函数,Windows应用程序可通过调用标准Windows API函数使用系统提供的功能。
Windows API函数定义在一些DLL动态链接库中,其中最主要的DLL是User32.dll、Gdi32.dll和Kernel32.dll三个库文件。 ;传统SDK编程:程序员通过调用API函数,自己动手、按部就班地实现程序各部分的功能。SDK应用程序的结构比较清晰,但程序员必须编写所有的功能代码。
利用Visual C++编写一个类SDK应用程序:首先利用Win32 Application向导建立一个Windows应用程序框架,然后根据需要可以向程序项目中添加一些头文件、实现源文件和资源文件,并编写具体的程序代码。;1.执行“File|New”菜单命令,在New对话框的Project页面中选择Win32 Application项目类型,输入程序名Hello。在向导第1步选择“A typital “Hello world!” application”项,单击Finish按钮。
2.在窗口函数WndProc()的消息处理分支switch-case结构中添加WM_LBUTTONDOWN鼠标单击消息及其处理代码:
case WM_LBUTTONDOWN:
MessageBox(NULL, You pressed the
left button of mouse !,Message,NULL);
break; ; SDK应用程序结构:;6.1.2 句柄 ;获取MFC类对象的句柄的两种方法: ;所谓消息就是用于描述某个事件发生的信息,而事件是对于Windows的某种操作。
事件和消息密切相关,事件是因,消息是果,事件产生消息,消息对应事件。所谓消息的响应,其实质就是事件的响应。
消息驱动是Windows应用程序的核心,所有的外部响应(如键盘、鼠标和计时器等)都被Windows先拦截,转换成消息后再发送到应用程序中的目标对象,应用程序根据消息的具体内容进行处理。
消息不仅可由Windows发出,它也可由应用程序本身或其它程序产生。Windows为每一个应用程序都维护一个或多个消息队列,发送到每个程序窗口的消息都排成一个队列。 ;消息队列和在应用程序中的轮询处理 ;Windows消息分为三种类型:; typedef struct tagMSG {
HWND hWnd; // 目标窗口句柄
UINT message; // 消息标识
WPARAM wParam; // 消息参数1(附加信息,16位)
LPARAM lParam; // 消息参数2(附加信息,32位)
DWORD time; // 消息发送时间
POINT pt; // 消息发送时鼠标的屏幕坐标
} MSG;;例 为程序Hello添加键盘消息处理功能,判断当前按下的键是不是A或a键,并给出相应的提示。 ; 利用Windows API开发程序的用户有这样的体会,即使开发一个简单的Windows应用程序也需要对Windows的编程原理有很深刻的认识,需要手工编写冗长的代码。由于程序的出错率是随着代码长度的增加呈几何级数增长的,而且当程序长度逐渐膨胀时,调试程序会变得越来越困难。因此,传统的Windows应用程序设计需要程序员有极大的耐心和丰富的编程经验。
Visual C++捆绑了微软的基础类MFC,编程
您可能关注的文档
- Linux命令的.pdf
- linux命令手册的.pdf
- linux命令集的.pdf
- Linux基础及应用复系陌题答案.doc
- Linux基础2的.ppt
- Linux基础的.ppt
- Linux基础知识的.pdf
- Linux基础知识的总降尼.doc
- linux基础讲解的.ppt
- Linux填空问答题的.doc
- 七年级语文上册期末模拟试卷1(解析版).docx
- 七年级语文上册期末模拟试卷1(原卷版).docx
- 七年级语文上册期末模拟试卷2(原卷版).docx
- 七年级语文上册期末模拟试卷2(解析版).docx
- 期末测试卷(二)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(二)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
原创力文档

文档评论(0)