您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C++课程设计报告(简易文本编辑器)
简易文本编辑器1面向对象程序设计课程设计报告(2011/2012学年第二学期)题目名称简单文本编辑器的设计系部专业计算机科学与技术班级学生完成时间2012年6月指导老师简易文本编辑器2引言在文本编辑器出现前,人们用打孔机把计算机文字打到穿孔卡片上。文字存放于一个装着这样的薄卡片的盒子里,可以用读卡器来阅读它。第一个文本编辑器是一种行编辑器,它运行在打字机型的终端上,这种编辑器并不具备在窗口和屏幕中显示的功能。它包含了一些非常短的命令(为了减少打字量)。其中一个命令能够把文件的指定部分通过打字机打印出来。编辑光标是想象中的一个插入点,通过特殊命令,可以把它移动到特定内容字符串所在的行。随后,内容字符串又被扩展成正则表达式。如果想看到文件的变化,你需要把它打印出来。相对于穿孔机来说,人们认为这种基于行的文本编辑器具有革命性的进步。如果没有它,用户就需要把那些处理文本的命令打成专用的卡片,并在编辑文件时使用这些卡片。当带有显示屏的计算机终端出现后,基于显示屏的文本编辑器开始流行起来。最早的全屏编辑器中,有一种叫做O26,它是于1967年为CDC6000系列机器的操作控制台而作的。另外一个早期的全屏编辑器是vi。vi诞生于20世纪70年代,至今,它仍是Unix和Linux的标准编辑器。全屏编辑器对视频终端的销售起到了促进的作用。文本编辑器在Windows的应用中是一个非常重要的项目,在过去十数年中,微软对windows文本编辑器有多个版本的升级改进,而基于其他的编程环境的文本编辑器也是多如牛毛,今天我们用MFC可视化编译环境做一个简易的文本编辑器。简易文本编辑器3目录引言............................................21.课程设计目的和意义................................42.详细设计.........................................42.1需求描述...........................................................42.1.1文件.................................................................................................................................42.1.2编辑.................................................................................................................................42.1.3应用.................................................................................................................................52.1.4帮助.................................................................................................................................52.1.5高级.................................................................................................................................52.2功能描述...........................................................52.2.1文本编辑区.....................................................................................................................52.2.2文件.................................................................................................................................72.2.3编辑...............................................................................................................................152.2.4应用...............................................................................................................................162.2.5帮助...............................................................................................................................212.2.6高级...............................................................................................................................222.2.7菜单栏...........................................................................................................................252.2.7图标...............................................................................................................................262.3程序运行说明......................................................273.课程设计总结....................................303.1编程日志..........................................................303.3测试报告..........................................................314.心得体会........................................315.参考文献........................................31简易文本编辑器41.课程设计目的和意义《面向对象程序设计》课程设计是实践性教学环节之一,是《面向对象程序设计》课程的辅助教学课程。该课程设计要求学生综合运用在《面向对象程序设计》课程中学到的面向对象技术与实际编程相结合,独立完成一项较为完整、并具有一定实际功能的课程设计任务,同时加深学生对面向对象和C++编程技术的理解和掌握,培养实际的应用程序开发能力。在课程设计过程中,使学生养成良好的程序设计风格,并掌握C++应用程序的设计开发过程和编程方法、测试方法2.详细设计2.1需求描述简单文本编辑器的设计是基于MicrosoftVisualStudio2008开发的一款小型的软件,主要的设计是为了满足普通用户对文本文档进行一般的简单操作,通过MFC可视化编程环境,直接生成一个友好的用户操作界面,通过这个窗口,用户可以对文本进行如下的基本操作。2.1.1文件①新建:创建一篇空白文档,从“工具栏”或“文件下拉菜单”中创建②打开:打开文本(.txt)文件,从“工具栏”或“文件下拉菜单”中打开;或将文本(.txt)文件拖入程序界面打开或应用程序图标上打开;或右键单击文本文件,在“打开方式”中选择本程序打开②保存:保存文档,从“工具栏”或“文件下拉菜单”中打开④另存为:保存文件副本,在不同位置或以不同文件名保存文档,从“工具栏”或“文件下拉菜单”中另存2.1.2编辑①撤销:撤销前一步所进行的操作,从“编辑下拉菜单”或“右键菜单”中撤销③删除:删除当前选定字符(串),从“编辑下拉菜单”或“右键菜单”中删除④剪切:复制并删除选定字符(串),从“编辑下拉菜单”或“右键菜单”中剪切⑤复制:复制选定字符(串),“编辑下拉菜单”或“右键菜单”中复制⑥粘贴:对粘贴内容进行粘贴,从“编辑下拉菜单”或“右键菜单”中粘贴⑦全选:对文本编辑框中文本全部选定,从“编辑下拉菜单”或“右键菜单”中全简易文本编辑器52.1.3应用①查找/替换:输入查找内容(和替换内容),可从光标位置逐个查找(或替换)相应内容,也可一次性全部替换掉相应内容,从“工具栏”或“应用下拉菜单”中执行②字体设置:设置字体、字形及字的大小,从“工具栏”或“应用下拉菜单”中设置字体③统计字符串:统计用户输入的字符串出现次数,从“工具栏”或“应用下拉菜单”中执行④统计字数:统计所有字符数、中文字符数、英文字符数、数字字符数和空格数,从“工具栏”或“应用下拉菜单”中启动2.1.4帮助①关于EasyTXT:显示关于本程序的信息,从“帮助下拉菜单”中启动②帮助:显示程序帮助文档,包括程序功能、使用、简要说明等各种信息,从“工具栏”或“帮助下拉菜单”中启动2.1.5高级①关联注册:向注册表添加SLW文件关联,改变文本(.txt)文件图标,并使文本(.txt)文件可单击右键后选择用本程序打开(部分功能重启或注销后方能生效)②还原注册:取消注册,文本(.txt)文件还原为默认图标,不能右键打开(部分功能重启或注销后方能生效)2.2功能描述2.2.1文本编辑区本程序的编译框架为MFC,功能的实现使用的是模块化的编程方式进行,由于使用的是MFC可视化编程,所以其中的很多过程使用的是相关的系统自带函数实现的,其中整个编辑器的编辑区使用的是MFC自动生成的文本框,但是这个文本框没有插入符,不能实现文字编辑功能,所以需要在程序的CEasyTXTView中插入一些特定的文本编辑函数,如插入符函数cwnd::createsolidcreat,这个函数默认的为隐藏,所以在后面需要showcreate()才能正常显示,而整个编辑器的操作编辑部分使用的是一个独立的*.CPP进行控制的,代码中使用的是图形至于文本输入的下方并设置为透明,在下面的文本编辑区下层有一张写有内容的图片作为装饰,换行等动作惠济路插入符位置并按照坐标进简易文本编辑器6行绘制,文本框的大小改变等会导致文本编辑区的重绘,所以在改变文本框时必须调用函数对文本框中的内容进行保存,相关代码如下所示:BOOLCBmpEdit::OnEraseBkgnd(CDC*pDC){CDCmemDC;memDC.CreateCompatibleDC(pDC);//创建内存设备上下文memDC.SelectObject(&m_Bitmap);//将位图选入设备上下文BITMAPm_Bmp;//声明位图控件m_Bitmap.GetBitmap(&m_Bmp);//获得位图信息intx=m_Bmp.bmWidth;//获取图片宽度inty=m_Bmp.bmHeight;//获取图片高度CRectrect;//声明矩形区域对象GetClientRect(rect
本文标题:C++课程设计报告(简易文本编辑器)
链接地址:https://www.777doc.com/doc-5146153 .html