




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第10章 Visual C+编程实例第第10章章 Visual C+编程实例编程实例10.1 MFC编程流程编程流程10.2 常用常用FC类和消息处理类和消息处理10.3 对话框的应用对话框的应用10.4 菜菜 单单 的的 应应 用用10.5 工具栏应用工具栏应用第10章 Visual C+编程实例10.1 MFC编程流程编程流程 在普通的C/C+程序中,可以看到程序从main函数开始到结束的所有代码,但在Visual C+中MFC封装了一部分类,同时也隐藏了一部分代码,因此我们看不到源程序的所有代码,例如从项目的所有源文件中找不到main函数。 基本对话框的MFC程序流程图如图10-1所示。
2、第10章 Visual C+编程实例图 10-1程序开始生成CwinApp的一个实例,初始化全局对象WindMain()的函数体初始化句柄AfxWinMain()的函数体退出句柄消息循环退出句柄程序结束第10章 Visual C+编程实例一个MFC程序运行的一般过程如下:(1) 生成CwinApp的一个实例(调用CwinApp的构造函数),初始化全局对象;(2) Win32入口程序函数WinMain调用函数AfxWinMain;(3) AfxWinMain调用函数CwinApp的成员函数InitInstance;(4) AfxWinMain调用函数CwinApp的成员函数Run;(5) Afx
3、WinMain函数返回到WinMain,WimMain结束,程序结束。第10章 Visual C+编程实例 例10-1 吹泡泡程序。每当用户在窗口客户区中按下鼠标左键时即可产生一个泡泡(彩色圆形)。 设计思路:显示一个泡泡所需的数据包括其位置和大小,在MFC中可用其包含矩形表示。可设置一数组,每当用户按下鼠标左键时,就产生一个泡泡的数据并存入数组中。最后,由框架窗口类的OnPaint()函数显示所有的泡泡。第10章 Visual C+编程实例#include#define MAX_BUBBLE 250class CMyWnd:public CFrameWnd CRect m_rectBubbl
4、eMAX_BUBBLE; int m_nBubbleCount;public: CMyWnd() m_nBubbleCount=0;第10章 Visual C+编程实例 protected: afx_msg void OnLButtonDown(UINT nFlags,CPoint point); afx_msg void OnPaint(); DECLARE_MESSAGE_MAP() ; /消息映射 BEGIN_MESSAGE_MAP(CMyWnd,CFrameWnd) ON_WM_LBUTTONDOWN() ON_WM_PAINT() END_MESSAGE_MAP()第10章 Visu
5、al C+编程实例/框架窗口类的成员函数void CMyWnd:OnLButtonDown(UINT nFlags,CPoint point) if(m_nBubbleCountMAX_BUBBLE) int r=rand()%50+10; CRect rect(point.x-r,point.y-r,point.x+r,point.y+r); m_rectBubblem_nBubbleCount=rect; m_nBubbleCount+; InvalidateRect(rect,FALSE); 第10章 Visual C+编程实例void CMyWnd:OnPaint() CPaintDC
6、 dc(this); CBrush brushNew; CPen penNew;brushNew.CreateSolidBrush(RGB(rand()%255,rand()%255,rand()%255); penNew.CreatePen(PS_SOLID,1,RGB(255,0,0); dc.SelectObject(&brushNew); dc.SelectObject(&penNew);第10章 Visual C+编程实例for(int i=0;iCreate(0,_T(吹彩色泡泡); pFrame-ShowWindow(m_nCmdShow); this-m_pMa
7、inWnd=pFrame; return TRUE;CMyApp ThisApp; /全局应用程序对象 按【Ctrl+F5】运行程序,运行结果如图10-2所示。第10章 Visual C+编程实例 说明: 该程序声明了两个类,一个是由应用程序类CwinApp派生出来的CmyApp类,一个是由框架窗口CframeWnd类派生出来的CmyWnd类。MFC的基本类名均以字母C打头,习惯上在为使用MFC编写的应用程序中的类起名时也这样做。在程序中还声明了一个CmyWnd类的全局对象ThisApp。参考资料:http:/ 第10章 Visual C+编程实例 小 结 本章讲述了基于对话框的应用程序的基本编程思路、基于单文档编程的菜单设计和工具栏设计的基本方法。 1. 首先介绍基于对话框的应用程序编程的工作流程,然后介绍了一个吹彩色泡
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国环境美化及园艺服务行业产业运行态势及投资规划深度研究报告
- 服务贸易统计培训课件
- 学生学习风格与个性化教学策略
- 教师职业发展与教学质量的提升策略研究
- 退换货培训课件
- 教育数字化转型中的技术革新与挑战
- 智慧城市公共服务平台的数据管理与分析
- 钢结构焊接培训课件
- 教育大数据在教学管理中的创新应用
- 抖音商户短视频播放量分析反馈制度
- 2025年高考语文全国一卷试题真题及答案详解(精校打印)
- 民宿合作推广合同协议
- 义务教育语文课程标准(2022)测试题带答案(20套)
- 易经全文注音(修订版)
- 库板安装工艺
- 重庆市地名命名更名报批意见表
- 怀山药深加工项目可行性研究报告写作范文
- 抗生素降阶梯疗法
- 丁广路ac-20c中粒式沥青砼面层试验段施工方案
- 《国际税收导轮》
- 桂林市洪涝灾害应急预案-桂林市政府
评论
0/150
提交评论