- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件综合设计课程设计-画图工具
软件综合设计课程设计任务
题目 画图工具
课程设计的目的
课程设计作为教学的一个重要的环节,其目的在于更深入的理解和掌握课程教学中的有关基本概念,应用基本技术解决问题从而进一步提高分析问题和解决问题的能力。在这学期我们接触的是VC++这门课程,作为本学科的专业课,它要求我们熟练掌握所学的知识,熟练应用所学知识,把理论应用到实践当中去,这样才能更好的发挥本学科的作用。
三、课程设计工作量
负责画图工具的总体规划,承担整个程序的从查阅书籍到分配任务再到连接函数再到修改错误最后运行成功的工作。
四、课程设计工作计划
2009年12月28日,指导教师讲课,学生根据题目准备资料,需求分析;
2009年12月29~31日,进行总体方案设计;
2010年1月1日,完成自己的程序模块并通过编译;
2010年1月2日,将各模块集成为一个完整的系统,并录入足够的数据进行调试运行;
2010年1月6~7日,验收、开始撰写课程设计报告;
2010年1月8日,提交课程设计报告和软件。
指导教师签字:
教研室主任签章:
指导教师评语:
课程设计总成绩:
指导教师签字:
2010年 月 日
目 录
一 概述……………………………………………………4
二 软件总体方案设计……………………………………4
三 详细设计………………………………………………5
四 软件调试及结果………………………………………8
五 课程设计总结…………………………………………10
六 附录……………………………………………………10
七 参考文献………………………………………………22
一 概 述
课程设计作为教学的一个重要的环节,其目的在于于更深入的理解和掌握课程教学中的有关基本概念,应用基本技术解决问题从而进一步提高分析问题和解决问题的能力。
通过本课程的学习,主要培养学生WINDOWS应用程序开发和MFC编程能力。 理解WINDOWS的消息机制和WINDOWS应用程序的基本结构。掌握MFC的基本概念,窗口、资源、图形设备接口、文档/视图结构、对话框和控件等对象的程序设计方法,学会使用Visual Studio中的AppWizard、ClassWizard、资源编辑器和调试器等工具的方法,可用Visual C++开发基本的WINDOWS应用程序。
二 软件总体方案设计
画图工具的主要功能就是满足用户的需要,绘制各种图形,按用户自己的需要进行线宽,线型,图形和颜色的设置。为了完成这些功能本程序用到工具栏,状态栏,调色蓝和绘图栏,进入运行界面后用户就可以进行画图,完成画图之后还可进行保存或打印等相关操作。
本程序为单文档应用程序,其中用到如下几个类:应用程序类CHDrawApp,文档类CHDrawDoc,视图类CHDrawView 和CHDrawPView,窗口框架类CMainFrame,调色栏类HColorBar,绘图类HStroke等几个主要的类。其中还用到void CHDrawDoc::Serialize(CArchive ar)来对文件进行管理。
三 详细设计
文档类中用序列化函数存取文件
//////////////////////////////////////////////////////////////
// CHDrawDoc serialization
void CHDrawDoc::Serialize(CArchive ar)
{
if (ar.IsStoring()) //判断是否为写操作
{
// TODO: add storing code here
arm_cavasHm_cavasW;
m_strokeList.Serialize(ar);
}
else
{
// TODO: add loading code here
arm_cavasHm_cavasW;
m_strokeList.Serialize(ar);
}
}
设置光标位置的函数
BOOL CHDrawPView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
// TODO: Add your message handler code here and/or call default
if(pWnd == this){
CPoint point;
//Step1. get cursor position
GetCursorPos(point);
//Step2. convert point from screen to client
ScreenToClient(point);
CDC* p
文档评论(0)