- 1、本文档共138页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 Visual C++编程实例 10.1 MFC编程流程 10.2 常用MFC类和消息处理 10.3 对话框的应用 10.4 菜 单 的 应 用 10.5 工具栏应用 10.1 MFC编程流程 在普通的C/C++程序中,可以看到程序从main函数开始到结束的所有代码,但在Visual C++中MFC封装了一部分类,同时也隐藏了一部分代码,因此我们看不到源程序的所有代码,例如从项目的所有源文件中找不到main函数。 基本对话框的MFC程序流程图如图10-1所示。 一个MFC程序运行的一般过程如下: (1) 生成CwinApp的一个实例(调用CwinApp的构造函数),初始化全局对象; (2) Win32入口程序函数WinMain调用函数AfxWinMain; (3) AfxWinMain调用函数CwinApp的成员函数InitInstance; (4) AfxWinMain调用函数CwinApp的成员函数Run; (5) AfxWinMain函数返回到WinMain,WimMain结束,程序结束。 例10-1 吹泡泡程序。每当用户在窗口客户区中按下鼠标左键时即可产生一个泡泡(彩色圆形)。 设计思路:显示一个泡泡所需的数据包括其位置和大小,在MFC中可用其包含矩形表示。可设置一数组,每当用户按下鼠标左键时,就产生一个泡泡的数据并存入数组中。最后,由框架窗口类的OnPaint()函数显示所有的泡泡。 #includeafxwin.h #define MAX_BUBBLE 250 class CMyWnd:public CFrameWnd { CRect m_rectBubble[MAX_BUBBLE]; int m_nBubbleCount; public: CMyWnd() {m_nBubbleCount=0;} 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() //框架窗口类的成员函数 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_rectBubble[m_nBubbleCount]=rect; m_nBubbleCount++; InvalidateRect(rect,FALSE); } } void CMyWnd::OnPaint() { CPaintDC 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); for(int i=0;im_nBubbleCount;i++) dc.Ellipse(m_rectBubble[i]); } ?//应用程序类 class CMyApp:public CWinApp { public: BOOL InitInstance(); }; BOOL CMyApp::InitInstance() { CMyWnd *pFrame=new CMyWnd; pFrame-Create(0,_T(吹彩色泡泡)); pFrame-ShowWindow(m_nCmdShow); this-m_pMainWnd=p
您可能关注的文档
- SONY数功放、解码板套装 B版整体应用DIY资料.doc
- SQL Srver2000数据库.doc
- Skylie Terraexplorer Pro系统操作手册(中文).doc
- SQL 205.ppt
- sql srver2000 题库.doc
- SMG200B数字双钳相位伏安表.doc
- SQL Srver复习.doc
- SQL Srver安装及补丁安装常见问题.doc
- SoED 口U盘读写模块使用手册.doc
- SQL Srver数据库技术复习.doc
- 5.3用频率估计概率(课件)高一数学(湘教版2019必修第二册).pptx
- 第11课 创新思维要善于联想(课件)高考政治一轮复习(新教材新高考).pptx
- 第6课 走进经济全球化 课件-新高考政治一轮复习选择性必修一《当代国际政治与经济》课件.pptx
- 数据库发展研究报告(2025年)-大数据技术标准推进委员会.docx
- AI 智能体运行安全测试标准(中文).docx
- 第四单元 水的三态变化(复习课件)四年级科学上学期期末复习(青岛版).pptx
- 8.1 基本立体图形(第1课时)(课件)高一数学(人教A版2019必修第二册).pptx
- Unit 4 Plants around us第四课时(课件)人教PEP版(2024)英语三年级上册.pptx
- 高三生物一轮复习课件第26讲 基因的表达.pptx
- 专题01 电场力的性质 高二物理上学期期末考点(人教版2019).pptx
最近下载
- 八项规定回头看自查报告.pdf VIP
- 2012北京 第一册市政道路、桥梁工程预算定额.pdf VIP
- 华为LTC流程IPD流程ITR流程三大核心流程变革一篇文章就全明白啦V2.0!.pdf VIP
- 普洱哈尼族彝族自治县2025年数学五年级第二学期期末学业质量监测试题含答案.doc VIP
- D-ZD2010发电厂汽水管道支吊架设计手册制造图册-中国电力规划.pdf VIP
- 产科急救应急预案.docx VIP
- 关于社区卫生服务中心五年发展规划十五五发展规划2025.docx VIP
- NBT 25085-2018 核电厂常规岛焊接技术规程.pdf VIP
- 烟草代办合同范本6篇.docx VIP
- 危险废物污染防治责任制度.docx VIP
文档评论(0)