中南大学数学院面向对象鼠标绘图报告.docVIP

中南大学数学院面向对象鼠标绘图报告.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中南大学数学院面向对象鼠标绘图报告

中南大学 《面向对象程序设计》上机报告 题目:鼠标绘图 学生姓名: 学号:专业班级:指导老师: 数学科学与计算技术学院 2011年11月 上机目的、内容: 学习MFC消息映射机制,理解发送给窗口的消息是如何被MFC框架通过窗口句柄映射表和消息映射表来用窗口类的函数进行响应的,并掌握设备描述表及其封装类CDC的使用。先分别运用函数制作简单的画直线和矩形以及填充矩形(包括利用位图画刷和透明画刷画图等等),最后运用VS2008制作简单的画图程序(包括画直线、画矩形、画笔功能)。 上机程序设计具体内容: 鼠标绘图 1.1分别利用CDrawView里面的四个类以及相关函数进行画直线(包括HDC、CDC、CClientDC、CWindowDC四个类)。 程序运行结果: 1.2利用画笔CPen画出其他颜色的直线。 程序运行结果: 1.3利用CBrush画刷填充矩形(其中利用到了位图bitmap) 程序运行结果: 1.4利用CClientDC画矩形,再利用透明画刷画矩形 程序运行结果: 1.5利用在CDrawView里面添加事件MouseMove实现鼠标画笔的功能。(其中还运用到了上面提到的画笔CPen) 程序运行结果: 1.6 最后制作画图程序,大概编程步骤如下(详见相关代码): (1)在资源视图里添加绘图菜单,更改ID号后运用添加事件命令,创建响应相应子菜单项响应函数。 (2)在CDarwView类里面添加变量m_choose用来判断相应子菜单项执行那个响应函数。 (3)在后在CDrawView里面的OnLButtonUp运用SWITCH语句进行判断,并调用相关函数进行画直线、画矩形和生成画笔。 程序运行结果: 上机程序设计心得: 我们通过学习面向对象程序设计,发现在VS2008中添加中消息处理函数类视图右键需要添加处理函数的类,选择属性在属性窗口中,单击“消息”按钮在消息列表框中,选择需要添加的消息MessageBox时,我们需要用到一种中间类型 四、附录: 源程序主要代码 // Draw.cpp : 定义应用程序的类行为。 #include stdafx.h #include Draw.h #include MainFrm.h #include DrawDoc.h #include DrawView.h #ifdef _DEBUG #define new DEBUG_NEW #endif // CDrawApp BEGIN_MESSAGE_MAP(CDrawApp, CWinApp) ON_COMMAND(ID_APP_ABOUT, CDrawApp::OnAppAbout) // 基于文件的标准文档命令 ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) // 标准打印设置命令 ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup) END_MESSAGE_MAP() // CDrawApp 构造 CDrawApp::CDrawApp() { // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在InitInstance 中 } // 唯一的一个CDrawApp 对象 CDrawApp theApp; // CDrawApp 初始化 BOOL CDrawApp::InitInstance() {// 如果一个运行在Windows XP 上的应用程序清单指定要 // 使用ComCtl32.dll 版本6 或更高版本来启用可视化方式, //则需要InitCommonControlsEx()。否则,将无法创建窗口。 INITCOMMONCONTROLSEX InitCtrls; InitCtrls.dwSize = sizeof(InitCtrls); // 将它设置为包括所有要在应用程序中使用的 // 公共控件类。 InitCtrls.dwICC = ICC_WIN95_CLASSES; InitCommonControlsEx(InitCtrls); CWinApp::InitInstance(); // 初始化OLE 库 if (!AfxOleInit()) { AfxMessageBox(IDP_OLE_INIT_FAILED); return FALSE; } AfxEnableControlContainer(); SetRegistryKey(_T(应用程序向导生成的本地应用程序)); LoadStdProfileSettings(4); // 加载标准INI 文

文档评论(0)

weizhent2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档