面向对象程序设计与Visual

面向对象程序设计与Visual

ID:41059323

大小:352.19 KB

页数:93页

时间:2019-08-15

面向对象程序设计与Visual_第1页
面向对象程序设计与Visual_第2页
面向对象程序设计与Visual_第3页
面向对象程序设计与Visual_第4页
面向对象程序设计与Visual_第5页
资源描述:

《面向对象程序设计与Visual》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第12章 MFC典型应用程序设计10/8/20211《面向对象程序设计与VisualC++6.0教程》本章主要内容:●Windows应用程序的消息处理机制●应用程序分析●输入/输出处理程序(文本输出、键盘及鼠标消息处理等)●菜单应用程序设计●工具栏应用程序设计●状态栏应用程序设计●对话框应用程序设计●控件应用程序设计●数据库应用程序设计10/8/20212《面向对象程序设计与VisualC++6.0教程》12.1消息处理机制●Windows程序与其他程序最大的不同之处在于使用消息机制。●Windows程序中所发生的一切都可以用消息表示,消息用于告诉操作系统所发生的事情,如按

2、键操作或鼠标操作等。●MFC应用程序也使用基于消息的事件驱动机制,而且MFC提供的消息处理机制使得用户可以更加方便、简易的处理消息。●在Windows中,所有消息都是通过消息名进行访问的,但不同类型的消息由应用程序的不同部分进行处理。10/8/20213《面向对象程序设计与VisualC++6.0教程》1.MFC消息种类消息机制是Windows应用程序的核心,MFC中的消息可以分为:●Windows消息●控件通知消息●定时消息●命令消息10/8/20214《面向对象程序设计与VisualC++6.0教程》Windows消息●Windows消息通常指以WM开头的消息,但WM_C

3、OMMAND除外。●键盘消息和鼠标消息都属于Windows消息,Windows消息由窗口和视图进行处理。●Windows消息通常带有若干个参数传递给消息处理函数,这些参数为处理函数正确地处理消息提供了充分的信息。10/8/20215《面向对象程序设计与VisualC++6.0教程》●控件通知消息是指当控件的状态发生改变时,控件向其父窗口发送的消息。●MFC对控件通知消息的传递方式与其他以WM开头的Windows消息一样,但BN_CLICKED例外,该消息的传递方式与命令消息的传递机制相同。●对于Windows消息和控件通知消息,MFC将消息传递给相应的窗口处理。控件通知消息1

4、0/8/20216《面向对象程序设计与VisualC++6.0教程》定时消息●定时消息也是Windows的一类重要消息。●当需要应用程序每隔一个指定的时间间隔便执行某一特定操作时,就需要使用定时消息WM_TIMER。●在进行定时操作时,用户需要调用SetTimer函数创建一个定时器,并设置定时器的事件标志nIDEvent及时间间隔nElapse,然后编写消息WM_TIMER的消息处理函数OnTimer(),实现定时操作。10/8/20217《面向对象程序设计与VisualC++6.0教程》命令消息●命令消息是来自于用户界面对象的WM_COMMAND消息。●包括菜单、工具栏按钮

5、和加速键都属于命令消息等。即每当用户选择一个菜单项、单击一个按钮或需要告诉操作系统应当执行什么操作时,则发送一条WM_COMMAND命令消息。●WM_COMMAND消息的消息映射宏为OnCommand()。所有命令消息都包含有一个相同类型的参数,即该命令消息需要操作的资源ID值,由ID值映射消息处理函数。10/8/20218《面向对象程序设计与VisualC++6.0教程》2MFC消息映射机制●消息映射是指将消息与处理函数相联系,即当系统产生一条消息时,它能找到处理该消息的函数。●消息映射是Windows基于消息映射的事件驱动机制的重要内容之一。10/8/20219《面向对象

6、程序设计与VisualC++6.0教程》VisualC++的消息映射宏消息映射宏功能DECLARE_MESSAGE_MAP在头文件中使用,用于声明在源文件中存在消息映射BEGIN_MESSAGE_MAP表示消息映射的开始,用于源代码文件中END_MESSAGE_MAP表示消息映射的结束,用于源代码文件中ON_COMMAND将特定的命令消息映射到类的成员函数,即使用该成员函数处理消息ON_COMMAND_RANGE将一组特定的命令消息映射到类的成员函数10/8/202110《面向对象程序设计与VisualC++6.0教程》VisualC++的消息映射分为两个方面:●一是在头文件

7、.h中处理●一是在实现文件.cpp中处理消息映射宏10/8/202111《面向对象程序设计与VisualC++6.0教程》消息映射举例以上一章所创建的应用程序MyWinP为例,打开该应用程序源代码,其中有以下关于消息映射的代码(见下页)。10/8/202112《面向对象程序设计与VisualC++6.0教程》在头文件MyWinp.h中的消息映射代码//{{AFX_MSG(CMyWinPApp)afx_msgvoidOnAppAbout();//NOTE-theClassWizardwilladdandr

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

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

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