




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学华夏学院课程设计报告书课程名称: vb课程设计 题 目: 编制文本编辑器 系 名: 信息工程系 专业班级: 软件2101 姓 名: 杨妮 学 号: 10225610136 指导教师: 2011 年 12 月 30 日课程设计任务书学生姓名: 杨妮 专业班级: 软件2101 指导教师: 司晓梅 工作单位: 信息工程系 设计题目:编制文本编辑器初始条件:要求具备vb语言基础;顺序、选择、循环结构;界面设计、richtextbox等相关知识。要求电脑配置visual basic 6.0集成开发环境。要求完成的主要任务:主要任务:1使用vb的控件(richtextbox)编写一个文本编辑器。2实现打开/保存/新建/查找/替换字符,能改变文字的大小/字体/着色等功能。3要求外观类似于windows系统自带的记事本。设计报告撰写格式要求:1. 设计题目与要求;2. 设计思想、系统总体框架说明;3. 数据结构、系统各模块功能说明及具体实现的算法;4. 用户界面的设计步骤;写出涉及的主要控件的名称及作用;5. 运行结果、系统关键界面的截图;6. 调试记录(静态检查、动态检查过程中所遇到的问题、解决的办法)、心得体会(即程序 设计过程中的经验、体会);7. 该系统的运行条件(系统支撑环境),运行该系统的方法;8. 附录:源程序,要求源代码中要有清晰的注释。时间安排:12月19日上午布置课程设计任务;分配题目后,查阅资料、 准备程序; 12月 20日12月22 日上机编写、调试程序、书写课程设计报告;12月23 日上午答辩并提交课程设计报告及相关文档。指 导 教 师 签 字: 2011年 12 月 15 日系 主 任 签 字: 2011年 12 月 15 日一、vb课程设计目的通过一学期的visualbasic程序设计学习,以及平时的上机实验,初步掌握了vb程序设计的各种方法,学会了编辑最基本的vb程序;对于完整的vb程序设计来讲是很不足的,平时掌握的只是单独的窗体(form)程序编写,以及各种简单控件的使用,没有做到很好连贯性,所以有必要做一次完整的vb程序设计,结合所学的基本知识,使用多个窗体自成一套系统,加上各种控件的综合运用,初步设计一个合格的vb应用程序。自从接到我们要上课程设计课开始,我们知道word的文本编辑器,当然众所周知word是当今最流行最常用的文本编辑器,用来日常对工作生活中的文本进行编辑,它的功能强大,也在软件设计业成为了一种流行的标准。我们这次设计的就是以word的一些基本功能为基础,由于我们的能力有限我们把一些特殊功能删除了,只留下了一些简单的功能例如:剪切、新建、复制、粘贴、查找等。此次设计课主要是锻炼我们的vb设计能力和思维考虑能力使我们的vb 学习真正的用到实处,无论在将来工作还是学习有着重要作用 二、设计题目与要求 文本编辑器1使用vb的控件(richtextbox)编写一个文本编辑器。2实现打开/保存/新建/查找/替换字符,能改变文字的大小/字体/着色等功能。3要求外观类似于windows系统自带的记事本。三、设计思想、系统总体框架说明题目为文本编辑器,既是最基本的文本编辑程序,首先必须做好文本编辑器本身的功能,然后对其完善做成一个完整的小程序,基本功能和我们平时用的记事本差不多。 基本功能说明:功能是这个文本编辑器的核心内容,也就是程序的作用,它是用来做什么的;本程序就是用来编写文本的,编写过程中要用到窗体(form)一个,控件包括:richtextbox(超文本框)、commondialog(通用对话框),以及inputbox(消息框)、菜单编辑器等。要做的工作就是编写代码把这些控件和窗体等结合为一体,使得程序能够成为一体,顺参运行。1、典型功能(1)查找和替换在一个文本文件中查找一个词或者一个字符串,把一个字符串替换成另一个字符串。可采取各种方式进行:全局查找替换、条件查找替换、无条件查找替换。 (2)剪切、复制、粘贴大多数文本编辑器都支持文件内的或者文件间的复制或者移动。 字体设置大多数文本编辑器都有字体设置这一个功能(3)打开、保存、新建、这也是文本编辑器的一个最简单的功能总体框架文本编辑框编辑菜 单格式菜 单搜索菜 单帮助菜 单文件菜 单退出保存新建打开剪切粘贴全选字体复制查找查找下一个使用说明关于2、绘制界面新建一个标准exe工程,将其caption属性改为“易记本”,点击icon属性给它找个合适的icon图标。单击菜单“工程”-“部件”,在弹出的“部件”对话框里找到microsoftrichtextbox 6.0和公共对话框microsoft commondialog6.0并选中它们,单击“确定”按钮。这时左边的工具栏上出现了我们刚才新添的两个控件了。在窗体上绘制richtextbox和commndialog,其中richtextbox的大小和位置可不用理睬,我们将在代码中处理它,当然,有必要把它的scrollbar属性设为2-rtfvertical,这样在打开和编辑文件时垂直滚动条才可用。 3、编辑菜单点击右键,打开菜单编辑器,设置标题(文件、编辑、格式、查看、帮助)(1)文件菜单(file):新建new (ctrl+n)打开open (ctrl+o)保存save (ctrl+s)- filesep (分隔线) 退出exit (ctrl+e)(2)编辑菜单(edit):复制copy (ctrl+c)剪切cut (ctrl+x)粘贴paste (ctrl+v)- editsep (分隔线) 全选selecall (ctrl+a)(3)格式菜单(format):字体font(4)搜索菜单(search):查找find 查找下一个findnext(5)帮助菜单(help): 使用说明usage 关于 about 4、程序代码:(1)声明查找变量 dim sfind as string (2)声明文件类型 dim filetype, fitype as string (3)初始化程序 private sub form_load() (4)设置程序启动时的大小 me.height = 6000 me.width = 9000 end sub (5)设置编辑框的位置和大小 private sub form_resize() on error resume next 出错处理 richtextbox1.top=20 richtextbox1.left=20 richtextbox1.height = scaleheight-40 richtextbox1.width = scalewidth-40 end sub 文件菜单“新建”private sub new_click() richtextbox1.text = 新建文本时清空文本框 filename = 未命名 me.caption = filename end sub “打开”private sub open_click() commondialog.filter = 文本文档(*.txt)|*.txt|rtf 文档(*.rtf)|*.rtf所有文件(*.*)|*.* commondiolag.showopen richtextbox 1.text= 打开新的文件时清空原来的文本框 x001(1前的空格去掉) filename = commondialog.filename richtextbox1.loadfile filename me.caption=易记本:&filename end sub “保存”private sub save_click()commondialog.filter = 文本文档(*.txt)|*.txt|rtf 文档(*.rtf)|*.rtf所有文件(*.*)|*.*commondiolag.showsavefiletype=commondialog1.filetitlefiletype=lcase(right(filetype,3)filename=commondialog1.filenameselect case filetypecase txtrichtextbox|.savefile filename,rtftextcasertfrichtextbox|.savefile filename,rtfrtfcase*.*richtextbox|.savefile filename,rtfnameend selectme.caption=易记本: &filenameend sub“退出”private sub exit_click() endend sub编辑菜单“复制”private sub copy_click() clipboard.clear clipboard.settext richtextbox1.seltext end sub “剪切”private sub cut_click() clipboard.clear clipboard.settext richtextbox1.seltext richtextbox1.seltext = end sub “粘贴”private sub paste_click() richtextbox1.seltext = clipboard.gettext end sub “全选”private sub selectall_click() richtextbox1.selstart = 0 richtextbox1.sellength = len(richtextbox1.text) end sub 格式菜单 “字体”private sub font_click() with form1.edit_frame .selfontname = 宋体 .selfontsize = 30 .selbold = true .selitalic = true .selcolor = vbred end withend sub搜索菜单“查找”private sub find_click() inputbox() content = inputbox(输入要查找的字符:, 查找内容, content) edit_frame.find contentend sub“查找下一个”private sub findnext_click()edit_frame.selstart = edit_frame.selstart + edit_frame.sellength + 1x002 edit_frame.find content, , len(edit_frame)end sub帮助菜单“使用说明”private sub usage_click() on error goto handler richtextbox1.loadfile readme.txt, rtftext 请写好readme.txt文件并存入程序所在文件夹中 me.caption = 易记本: & 使用说明 exit sub handler: msgbox 使用说明文档可能已经被移除,请在 编程天堂 官网下载!, vbokonly, 错误信息 end sub “关于”private sub about_click() msgbox 超级记事本 ver1.0 版权所有(c) 2001 土人,vbokonly,关于 记事本 end sub 设置弹出式菜单(即在编辑框中单击鼠标右键时弹出的动态菜单) private sub richtextbox1_mousedown(button as integer, shift as integer, x as single, y as single) if button = 2 then popupmenu mnuedit, vbpopupmenuleftalign else exit sub end if end sub 防止在切换输入法时字体自变private sub richtextbox1_keyup(keycode as integer, shift as integer) if keycode = vbkeyspace then richtextbox1.selfontname = commondialog1.fontname end if end sub 四、用户界面的设计步骤;写出涉及的主要控件的名称及作用;多数字处理软件都有工具栏和状态栏。工具栏和状态栏除了能美化我们的程序使其更具有专业性质外,还给用户带来操作上的便利。现在我们就来做一做这两样东西。 (一)制作工具栏 单击“工程”-“部件”,选中microsoft windows common control 6.0并确定。这时,我们要用到的控件就出现在左边的工具栏上了。 要做工具栏,首先需要一个叫imagelist的控件来装载图像。在程序界面上添加它,然后右键单击此控件,左键单击“属性”,弹出“属性页”对话框的“图像”,再单击“插入图片”就可以一次性装载图片了(如不满意,以后还可以添加)。图片可在c:microsoft visual studiocommongraphicsbitmapstlbr_w95下选择(这里假设你的vb安装在c盘下)。注意了:在插入图片时给每一张图片注明关键字,以便在引用图片时不至于混乱。如插入“新建”的图片,我们在“关键字”栏注明“new”。 图片有了,接下来在程序界面添加工具栏(toolbar)。添加后工具栏就出现在菜单下面,右键单击它,选择“属性”,在弹出的“属性页”对话框中的“通用”项作些设置,主要如下两项: 1.“图像列表”:选择imagelist1 2.“样式”:根据喜爱选择1-trbstandard或者2-trbflat 继续点击“属性页”的“按钮”选项,插入若干按钮。按钮有多种样式,请根据需要设置。这里请一定注意:每一个与用户操作有关的按钮都必须注明关键字、装载图片,如“新建”按钮,在“关键字”项注明“新建”,在“图像”项键入“new”(即imagelist1中的图片关键字),需要的话还可以在“工具提示文本”项填入适当的提示语。(二)编写工具栏的按钮代码 工具栏按钮的代码编辑很简单,可以按照下面的格式去编写: private sub toolbar1_buttonclick(byval button as mscomctllib.button) on error resume next 出错处理 select case button.key 按关键字选择 case 新建 mnunew_click 等于菜单项“新建”被单击 case 打开 等于菜单项“打开”被单击 mnuopen_click .(继续编写其它按钮的代码) end select end sub 完成后试运行一下我们的程序,我们发现,有了工具栏之后,程序变得漂亮多了,只是有一个问题:打开一个较长的文档后,编辑框的下拉滚动条向上的箭头不见了。原因是:工具条占用一定的空间。解决方法:将“设置编辑框的位置和大小”中的richtextbox1.top = 20 和 richtextbox1.height = me.scaleheight - 40分别改为richtextbox1.top = 380,richtextbox1.height = me.scaleheight - 400即可。 主要控件名称作用今天我们一起用richtextbox控件来做一个文本编辑器,这个文本编辑器具有比较完备的功能,例如:查找字串、设置字体等。通过这个程序,我们可以看到richtextbox控件丰富的使用方法。 图程序中使用的richtextbox控件在默认状态下不在控件面板中,我们可以在控件面板上点鼠标右键“添加”,在“添加选择对话框”中找到这个控件并添加。这时控件面板上会出现图标,这就是这个小程序的主打控件richtextbox。一个由richtextbox实现的文本编辑器 名称作用form1 主窗体 open 通用对话框 richtextbox1 richtextbox new “新建”菜单项 open “打开”菜单项 save “保存”菜单项 exit “退出”菜单项 font “字体”菜单项 find “查找”菜单项 next “查找下一个”菜单项showopen 显示“打开”对话框 showsave 显示“另存为”对话框showfont 显示“字体”对话框showhelp 调用 windows 帮助引擎 cmdopen.flags = cdlcfboth + cdlcfeffects cmdopen.showfont 将richtextbox1的属性根据“字体”对话框的变化作相应设置 要改变 richtextbox 控件中的字体特性,可以使用 selfontname、selfontsize 和 selfontcolor 属性。控件中的每一个字符都有一个可唯一标识的整数索引。控件中文本的第一个字符的索引是 0。 end 可选的。决定在哪儿结束搜索的整数字符索引。 options 可选的。用来指定一个或多个可选功能常数的和。所指定的功能如“设置值”中所述。 richtextbox1.selprint cmdopen.hdc end sub 当“保存”菜单项被点击时 private sub mnusave_click() cmdopen.showsave richtextbox的savefile方法,保存文本 richtextbox1.savefile (cmdopen.filename) end sub richtextbox控件的常用的属性、事件和方法。richtextbox 控件可用于输入和编辑文本,它同时提供了比常规的textbox控件更高级的格式特性。 通过这些属性,可对该控件中任何部分的文本使用不同的格式,可以将文本变为粗体或斜体,改变文本的颜色,创建上标或下标,可以调整段落的左右缩进值,还可以使用悬挂式缩进等。而且richtextbox控件支持大于64k的文本,这些都是textbox控件所不可比拟的。loadfile方法和savefile方法:它们的作用分别是从文件中导入文本和保存文本到指定的文件,这两个方法支持txt和rtf格式的文本文件,使用的语法是:object.savefile(pathname, filetype) 其中pathname是要打开或保存的文件路径,filetype是要打开或保存的文件类型(0表示txt文件;1表示rtf格式的文件)。find方法:其语法是:object.find(string, start, end, options) 其中string是要查找的字符串;start, end是查找开始和结束的位置,如果不指定的话默认是在全部文本中查找;options是查找时匹配的模式,有三种选择,rtfwholeword为整个单词匹配而不是单词片
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 朝鲜族文化遗产培训课件
- SARM1-IN-5-生命科学试剂-MCE
- 2025公务员古语试题及答案
- 2025年消费者咨询业务试题库(含答案解析)
- 机器人理论题库及答案
- 2025年血防办工作总结汇报
- 2025年新型城镇化项目工程监理管理协议书
- 2025年度应急预案演练计划
- 2025年智能cfg桩基检测与监测技术服务合同
- 2025年度绿色交通设施研发与应用示范合同
- 苗木培育及示范林抚育投标方案(技术方案)
- 海姆立克急救法课件
- 工业锅炉水质课件
- 中建超限梁板模板工程专项施工方案
- 暑假工招工合同范例
- FOCUS-PDCA改善案例-提高术前手术部位皮肤准备合格率医院品质管理成果汇报
- 天津市南开区2024-2025学年九年级上学期期中考试化学试题
- 直臂式高空作业车安全管理
- 中医医术确有专长人员申请表(十三篇)
- 水电厂技术监督标准化实施方案
- 2024年第三届浙江技能大赛(化学实验技术赛项)理论考试题库(含答案)
评论
0/150
提交评论