《VCMFC编程实例.ppt》由会员分享,可在线阅读,更多相关《VCMFC编程实例.ppt(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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第10章 Visual C+编程实例一个MFC程序运行的一般过程如下:(1)生成CwinApp的一个实例(调用CwinApp的构造函数),初始化全局对象;(2)Win32入口程序函数WinMain调用函数AfxWinMain;(3)AfxWinMain调用函数CwinApp的成员函数InitInstance;(4)AfxWinMain调用函数CwinApp的成员函数Run;(5)AfxWinMain函数返回到WinMain,WimMain结束,程序结束。第10章 Visual C+编程实例 例10-1 吹泡泡程序。每当用户在窗口客户区中按下鼠标左键
3、时即可产生一个泡泡(彩色圆形)。设计思路:显示一个泡泡所需的数据包括其位置和大小,在MFC中可用其包含矩形表示。可设置一数组,每当用户按下鼠标左键时,就产生一个泡泡的数据并存入数组中。最后,由框架窗口类的OnPaint()函数显示所有的泡泡。第10章 Visual C+编程实例#include#define MAX_BUBBLE 250class CMyWnd:public CFrameWnd CRect m_rectBubbleMAX_BUBBLE;int m_nBubbleCount;public:CMyWnd()m_nBubbleCount=0;第10章 Visual C+编程实例 pr
4、otected: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章 Visual C+编程实例/框架窗口类的成员函数void CMyWnd:OnLButtonDown(UINT nFlags,CPoint point)if(m_nBubbleCountMAX_BUB
5、BLE)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 dc(this);CBrush brushNew;CPen penNew;brushNew.CreateSolidBrush(RGB(rand()%255,rand()%255,rand()%255);p
6、enNew.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_pMainWnd=pFrame;return TRUE;CMyApp ThisApp;/全局应用程序对象 按【Ctrl+F5】运行程序,运行结果如图10-2所示。第10章 Visual C+编程实例 说明:该程序声明了两个类,一个是由应用程序
7、类CwinApp派生出来的CmyApp类,一个是由框架窗口CframeWnd类派生出来的CmyWnd类。MFC的基本类名均以字母C打头,习惯上在为使用MFC编写的应用程序中的类起名时也这样做。在程序中还声明了一个CmyWnd类的全局对象ThisApp。参考资料:第10章 Visual C+编程实例 小 结 本章讲述了基于对话框的应用程序的基本编程思路、基于单文档编程的菜单设计和工具栏设计的基本方法。1.首先介绍基于对话框的应用程序编程的工作流程,然后介绍了一个吹彩色泡泡的实例,讲述了相关的一些函数和常用的MFC类库的成员函数。2.讲述了基于对话框的应用程序的实例。主要讲述了设计一个简单的对话框用户界面的步骤。3.讲述了菜单的概念和设计一个菜单的步骤。4.讲述了工具栏的设计步骤。