当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

中国铁道出版社:《C++面向对象程序设计》课程教学资源(PPT课件讲稿)第10章 Visual C++编程实例

资源类别:文库,文档格式:PPT,文档页数:138,文件大小:701KB,团购合买
10.1 MFC编程流程 10.2 常用MFC类和消息处理 10.3 对话框的应用 10.4 菜 单 的 应 用 10.5 工具栏应用
点击下载完整版文档(PPT)

C++程序设讠 H 第10章Ⅴ usual++编程实例 10.1MFC编程流程 10.2常用MFC类和消息处理 10.3对话框的应用 10.4菜单的应用 10.5工具栏应用

C++程序设计 第10章 Visual C++编程实例 10.1 MFC编程流程 10.2 常用MFC类和消息处理 10.3 对话框的应用 10.4 菜 单 的 应 用 10.5 工具栏应用

C++程序设讠 H 10.1MFC编程流程 在普通的C/C++程序中,可以看到程序从main函数 开始到结束的所有代码,但在 Visual c+中MFC封装了 部分类,同时也隐藏了一部分代码,因此我们看不 到源程序的所有代码,例如从项目的所有源文件中找 不到main函数。 基本对话框的MFC程序流程图如图10-1所示

C++程序设计 10.1 MFC编程流程 在普通的C/C++程序中,可以看到程序从main函数 开始到结束的所有代码,但在Visual C++中MFC封装了 一部分类,同时也隐藏了一部分代码,因此我们看不 到源程序的所有代码,例如从项目的所有源文件中找 不到main函数。 基本对话框的MFC程序流程图如图10-1所示

C++程序设讠 H 程序开始 生成 Cina飾一个实例 初始化全局对象 Afx winMain( 的函数体 初始化句柄 退出句柄 WingMan 消息循环 的函数体 退出句柄 程序结束 图10-1

C++程序设计 图 10-1 程序开始 生成CwinApp的一个实例, 初始化全局对象 WindMain() 的函数体 初始化句柄 AfxWinMain() 的函数体 退出句柄 消息循环 退出句柄 程序结束

C++程序设讠 H 个MFC程序运行的一般过程如下: (1)生成 CwinApp的一个实例(调用 CwinApp的构造函数), 初始化全局对象; (2)Win32入口程序函数 Winmain调用函数 AfWinmain (3) AfxWinmain调用函数 CwinApp的成员函数 rInitInstance; (4) AfxWinmain调用函数 CwinApp的成员函数Run; (5) Afx Winmain函数返回到 Winmain, Winmain结束,程序 结束

C++程序设计 一个MFC程序运行的一般过程如下: (1) 生成CwinApp的一个实例(调用CwinApp的构造函数), 初始化全局对象; (2) Win32入口程序函数WinMain调用函数AfxWinMain; (3) AfxWinMain调用函数CwinApp的成员函数InitInstance; (4) AfxWinMain调用函数CwinApp的成员函数Run; (5) AfxWinMain函数返回到WinMain,WinMain结束,程序 结束

C++程序设讠 H 例10-1吹泡泡程序。每当用户在窗口客户区中按 下鼠标左键时即可产生一个泡泡(彩色圆形) 设计思路:显示一个泡泡所需的数据包括其位置 和大小,在MFC中可用其包含矩形表示。可设置一数 组,每当用户按下鼠标左键时,就产生一个泡泡的数 据并存入数组中。最后,由框架窗口类的 OnPaint函 数显示所有的泡泡

C++程序设计 例10-1 吹泡泡程序。每当用户在窗口客户区中按 下鼠标左键时即可产生一个泡泡(彩色圆形)。 设计思路:显示一个泡泡所需的数据包括其位置 和大小,在MFC中可用其包含矩形表示。可设置一数 组,每当用户按下鼠标左键时,就产生一个泡泡的数 据并存入数组中。最后,由框架窗口类的OnPaint()函 数显示所有的泡泡

C++程序设讠 H #include<afxwin h #define maX bubble 250 class CMy Wnd: public CFrame Wnd CRect m rectBubble MAX BUbble int m nBubblecount public CMy Wndo im bUbble Count=0;

C++程序设计 #include #define MAX_BUBBLE 250 class CMyWnd:public CFrameWnd { CRect m_rectBubble[MAX_BUBBLE]; int m_nBubbleCount; public: CMyWnd() {m_nBubbleCount=0;}

C++程序设讠 H protected afx msg void OnLButtonDown UINT nFlags, CPoint point afx msg void OnPaint DECLARE MESSAGE MAPO 消息映射 BEGIN MESSAGE MAP(CMy Wnd, CFrame Wnd) ON WM LBUTTONDOWNO ON WM PAINTO END MESSAGE MAPO

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()

C++程序设讠 H ∥框架窗口类的成员函数 void CMy Wnd: OnLButtonDown qUINT nFlags, CPoint point if(m nBubble Count<MAX BUBBLE) int r=rand(%050+10 CRect rect(point x-r, point. y-r, point x+r, point y+r) m rect Bubble[m nBubble Count=rect m bUbble Count++ InvalidateRect(rect, FALSE)

C++程序设计 //框架窗口类的成员函数 void CMyWnd::OnLButtonDown(UINT nFlags,CPoint point) { if(m_nBubbleCount<MAX_BUBBLE) { int r=rand()%50+10; CRect rect(point.x-r,point.y-r,point.x+r,point.y+r); m_rectBubble[m_nBubbleCount]=rect; m_nBubbleCount++; InvalidateRect(rect,FALSE); }

C++程序设讠 H void CMy Wnd: OnPainto CPaintdc dc(this) CBrush brushNew CPen penNey brushNew. Create Solid Brush(rGB(rando%0255, rando%25 5, rand(90255) penNe. CreatePen(PS SOLID, 1, RGB(255,0,0)) dc Selectobject(&brushNew) dc Selectobject( &penNew)

C++程序设计 } void CMyWnd::OnPaint() { CPaintDC dc(this); CBrush brushNew; CPen penNew; brushNew.CreateSolidBrush(RGB(rand()%255,rand()%25 5,rand()%255)); penNew.CreatePen(PS_SOLID,1,RGB(255,0,0)); dc.SelectObject(&brushNew); dc.SelectObject(&penNew);

C++程序设讠 H for(int i=0; K<m nUbble Count; i++) dc ellipse(m rectBubble[]) 应用程序类 class CMyApp public CWinApp public BOOL Initinstance(;; BOOL CMyApp: nitInstanceo

C++程序设计 for(int i=0;i<m_nBubbleCount;i++) dc.Ellipse(m_rectBubble[i]); } //应用程序类 class CMyApp:public CWinApp { public: BOOL InitInstance(); }; BOOL CMyApp::InitInstance()

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共138页,可试读30页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有