Windows编程_实验2指导_windows编程实验报告

2020-02-26 其他范文 下载本文

Windows编程_实验2指导由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“windows编程实验报告”。

Windows编程/附件资料2

实验2MFC 框架程序的分析认知与编程实践(4学时)

一、实验目的:

熟悉在Visual C++ 6.0 IDE中编辑、编译、调试和运行一个MFC应用程序的基本思路;理解并掌握利用MFC开发应用程序的一般步骤和过程;加深对MFC框架程序的特性认识,掌握其应用方法。了解构件式的软件开发思想;提高实际动手编制WinApp的能力和分析问题、解决问题的能力。

二、实验内容:

1、分析理解题:利用MFC AppWizard分别创建最基本的基于对话框的应用程序,单文档应用程序和多文档应用程序;并从类/文件/资源等视图角度分析比较它们各自所自动拥有的类(基类)/文件(主要是.cpp文件)/资源的异同,回答其后(即四所列)思考题;要求在实验报告中反应分析比较情况及你的认知理解点滴。(必做)

2、程序设计题:以MFC编程方式,编写并实现一个简易计算器功能的应用程序。其界面架构形式和具体内容自我设计,原则:架构美观、布局合理,内容实用,具有可计算特性。

3、以MFC编程方式,编写并实现一个SDI界面的“奥运五环”绘图应用程序。(提高)提示:编写在窗口客户区上“绘制一张笑脸”的WinApp。

1)若用SDK API方式编程,则其WM_PAINT消息的响应代码为:

case WM_PAINT:

hdc=BeginPaint(hwnd,&ps);

hPen=CreatePen(PS_SOLID,5,RGB(255,0,0));

SelectObject(hdc,hPen);

Ellipse(hdc,275,170,425,320);

Arc(hdc,360,215,410,240,410,225,360,225);

Arc(hdc,290,215,340,240,340,225,290,225);

Arc(hdc,320,240,380,300,320,270,380,270);

EndPaint(hwnd,&ps);

return 0;

2)若以MFC方式编程,则可利用MFC AppWizard建立一个SDI界面的应用程序框架,然后在其视类的OnDraw()中加入如下代码也可。

CPen pen,*oldpen;

pen.CreatePen(PS_SOLID,2,RGB(255,0,0));

计算机科学系XYP编制2011-5-18第1 页

oldpen=pDC->SelectObject(&pen);

pDC->Ellipse(275,170,425,320);

pDC->Arc(360,215,410,240,410,225,360,225);

pDC->Arc(290,215,340,240,340,225,290,225);

pDC->Arc(320,240,380,300,320,270,380,270);

pDC->SelectObject(oldpen);

三、实验要求:

通过本次实验,要求同学们能对利用MFC AppWizard、ClaWizard等实用工具编写WinApp的方法、步骤有一个较为全面的了解,并注意理解由MFC AppWizard所生成的WinApp框架的组织架构和作用;深刻理解在此基础上开发WinApp的主要工作是“填充框架和添加必要的实现代码”的含义,切实做到用理论指导实践,以实践促进理论,提高实际动手能力和再学习的能力。具体要求如下:

1、实验前认真准备、仔细计划,查找相关资料,写出预做报告,促进理性思维能力;

2、实验中以理性实践的态度,积极思考,认真领悟实验过程出现的各种实验现象,注意总结积累经验,完成实验要求,达到实验目标,提高应对问题、解决问题的能力;

3、实验后按要求及时、认真地完成实验报告,按时提交。

特别强调,注意实验报告内容的完整性、真实性和个异特点,使我们的两个能力:动手和持续学习能力真正得到提高。

四、思考题:

1.在MFC应用程序中,至少必须包含几个类?它们分别是什么类?

2.由MFC AppWizard生成的应用程序,都有哪些主要文件?包含哪些类及相关类的对应功能和它们之间的关系怎样?

3.控件使用中应特别注意哪些问题?

4.在使用编辑框时,应注意哪几点?

5.ClaWizard使用中,应关注的主要问题是什么?注意哪些问题?

温馨小贴示:

1.MFC应用程序必须包含的两个基本类是CWinApp类和CFrameWnd类。CWinApp类替代了API应用程序中的主函数WinMain()功能,封装了与应用程序相关的程序初始化InitApplication()和InitInstance()、消息循环Run()和程序结束ExitInstance()等功能;CFrameWnd类替代了窗口函数WndProc()的功能,封装了消息处理和窗口销毁等功能。

2.MFC应用程序消息处理的路径为:应用程序从CWinApp派生对象,其成员函数Run()调用

CWinThread::Run(),通过GetMeage(),TranslateMeage()和DispatchMeage()进行消息循环。每个窗口对象都使用相同的称为AfxWndProc()的全局函数,AfxWndProc()调用OnWndMsg()处理消息。OnWndMsg()负责将收到的消息分为三大类:窗口消息、命令消息和控件消息,再分发给不同的消息处理函数去处理。

3.MFC应用程序的启动顺序:①建立、初始化CWinApp对象,该对象是全局的且只能有一个,名为theApp;②在InitInstance()函数中,创建文档模板,执行MFC框架默认的命令行参数,根椐分解的命令行信息,启动不同类型的任务,动态建立文档、视图、框架,并对文档、视图、框架进行初始化;③显示与更新窗口;④启动消息循环。

五、参考书籍:

1.《Visual C++ 应用教程》·郑阿奇,丁有和 编著·人民邮电出版社2008.10

2.《Visual C++ 实用教程》·周进等 编著·人民邮电出版社2008.5

3.《Windows 程序设计教程》·杨祥金等 编著·清华大学出版社·2007.4

4.《Windows可视化程序设计》·刘振安主编·机械工业出版社·2007.1

5.《Visual C++ 程序设计—基础与实例分析》·朱晴婷等 编著·清华大学出版社2004.3

6.《Visual C++ 6.0实用教程》·扬永国 主编·清华大学出版社·2004.1

7.《C++及Windows可视化程序设计》·刘振安编著·清华大学出版社·2003.7

8.《Windows C程序设计入门与提高》·柳永新等 编著·清华大学出版社·1999.7

肖云萍编写

《Windows编程_实验2指导.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
Windows编程_实验2指导
点击下载文档
相关专题 windows编程实验报告 windows windows编程实验报告 windows
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文