VB编辑器课程设计报告.doc

上传人:仙人指路1688 文档编号:2389346 上传时间:2023-02-17 格式:DOC 页数:15 大小:231.50KB
返回 下载 相关 举报
VB编辑器课程设计报告.doc_第1页
第1页 / 共15页
VB编辑器课程设计报告.doc_第2页
第2页 / 共15页
VB编辑器课程设计报告.doc_第3页
第3页 / 共15页
VB编辑器课程设计报告.doc_第4页
第4页 / 共15页
VB编辑器课程设计报告.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《VB编辑器课程设计报告.doc》由会员分享,可在线阅读,更多相关《VB编辑器课程设计报告.doc(15页珍藏版)》请在三一办公上搜索。

1、武汉理工大学华夏学院课程设计报告书课程名称: VB课程设计 题 目: 编制文本编辑器 系 名: 信息工程系 专业班级: 软件2101 姓 名: 杨妮 学 号: 10225610136 指导教师: 2011 年 12 月 30 日课程设计任务书学生姓名: 杨妮 专业班级: 软件2101 指导教师: 司晓梅 工作单位: 信息工程系 设计题目:编制文本编辑器初始条件:要求具备VB语言基础;顺序、选择、循环结构;界面设计、RichTextBox等相关知识。要求电脑配置Visual Basic 6.0集成开发环境。要求完成的主要任务:主要任务:1使用VB的控件(RichTextBox)编写一个文本编辑器

2、。2实现打开/保存/新建/查找/替换字符,能改变文字的大小/字体/着色等功能。3要求外观类似于Windows系统自带的记事本。设计报告撰写格式要求:1. 设计题目与要求;2. 设计思想、系统总体框架说明;3. 数据结构、系统各模块功能说明及具体实现的算法;4. 用户界面的设计步骤;写出涉及的主要控件的名称及作用;5. 运行结果、系统关键界面的截图;6. 调试记录(静态检查、动态检查过程中所遇到的问题、解决的办法)、心得体会(即程序 设计过程中的经验、体会);7. 该系统的运行条件(系统支撑环境),运行该系统的方法;8. 附录:源程序,要求源代码中要有清晰的注释。时间安排:12月19日上午布置课

3、程设计任务;分配题目后,查阅资料、 准备程序; 12月 20日12月22 日上机编写、调试程序、书写课程设计报告;12月23 日上午答辩并提交课程设计报告及相关文档。指 导 教 师 签 字: 2011年 12 月 15 日系 主 任 签 字: 2011年 12 月 15 日一、VB课程设计目的通过一学期的VisualBasic程序设计学习,以及平时的上机实验,初步掌握了VB程序设计的各种方法,学会了编辑最基本的VB程序;对于完整的VB程序设计来讲是很不足的,平时掌握的只是单独的窗体(Form)程序编写,以及各种简单控件的使用,没有做到很好连贯性,所以有必要做一次完整的VB程序设计,结合所学的基

4、本知识,使用多个窗体自成一套系统,加上各种控件的综合运用,初步设计一个合格的VB应用程序。自从接到我们要上课程设计课开始,我们知道word的文本编辑器,当然众所周知word是当今最流行最常用的文本编辑器,用来日常对工作生活中的文本进行编辑,它的功能强大,也在软件设计业成为了一种流行的标准。我们这次设计的就是以word的一些基本功能为基础,由于我们的能力有限我们把一些特殊功能删除了,只留下了一些简单的功能例如:剪切、新建、复制、粘贴、查找等。此次设计课主要是锻炼我们的vb设计能力和思维考虑能力使我们的vb 学习真正的用到实处,无论在将来工作还是学习有着重要作用 二、设计题目与要求 文本编辑器1使

5、用VB的控件(RichTextBox)编写一个文本编辑器。2实现打开/保存/新建/查找/替换字符,能改变文字的大小/字体/着色等功能。3要求外观类似于Windows系统自带的记事本。三、设计思想、系统总体框架说明题目为文本编辑器,既是最基本的文本编辑程序,首先必须做好文本编辑器本身的功能,然后对其完善做成一个完整的小程序,基本功能和我们平时用的记事本差不多。 基本功能说明:功能是这个文本编辑器的核心内容,也就是程序的作用,它是用来做什么的;本程序就是用来编写文本的,编写过程中要用到窗体(Form)一个,控件包括:RichTextBox(超文本框)、CommonDialog(通用对话框),以及I

6、nputBox(消息框)、菜单编辑器等。要做的工作就是编写代码把这些控件和窗体等结合为一体,使得程序能够成为一体,顺参运行。1、典型功能(1)查找和替换在一个文本文件中查找一个词或者一个字符串,把一个字符串替换成另一个字符串。可采取各种方式进行:全局查找替换、条件查找替换、无条件查找替换。 (2)剪切、复制、粘贴大多数文本编辑器都支持文件内的或者文件间的复制或者移动。 字体设置大多数文本编辑器都有字体设置这一个功能(3)打开、保存、新建、这也是文本编辑器的一个最简单的功能总体框架文本编辑框编辑菜 单格式菜 单搜索菜 单帮助菜 单文件菜 单退出保存新建打开剪切粘贴全选字体复制查找查找下一个使用说

7、明关于2、绘制界面新建一个标准EXE工程,将其Caption属性改为“易记本”,点击Icon属性给它找个合适的Icon图标。单击菜单“工程”-“部件”,在弹出的“部件”对话框里找到MicrosoftRichTextBox 6.0和公共对话框Microsoft CommonDialog6.0并选中它们,单击“确定”按钮。这时左边的工具栏上出现了我们刚才新添的两个控件了。在窗体上绘制RichTextBox和CommnDialog,其中RichTextBox的大小和位置可不用理睬,我们将在代码中处理它,当然,有必要把它的ScrollBar属性设为2-rtfVertical,这样在打开和编辑文件时垂直

8、滚动条才可用。 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

9、): 使用说明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 Rich

10、TextBox1.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.S

11、howOpen 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.F

12、ileTitleFileType=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() End

13、End 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 “全选”

14、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_Clic

15、k() 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 han

16、dler 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 设置弹出式菜单(即在编辑框中单击鼠标右键时弹出的动态菜单) Priv

17、ate 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 RichTex

18、tBox1.SelFontName = CommonDialog1.FontName End If End Sub 四、用户界面的设计步骤;写出涉及的主要控件的名称及作用;多数字处理软件都有工具栏和状态栏。工具栏和状态栏除了能美化我们的程序使其更具有专业性质外,还给用户带来操作上的便利。现在我们就来做一做这两样东西。 (一)制作工具栏 单击“工程”-“部件”,选中Microsoft Windows Common Control 6.0并确定。这时,我们要用到的控件就出现在左边的工具栏上了。 要做工具栏,首先需要一个叫ImageList的控件来装载图像。在程序界面上添加它,然后右键单击此控件,左

19、键单击“属性”,弹出“属性页”对话框的“图像”,再单击“插入图片”就可以一次性装载图片了(如不满意,以后还可以添加)。图片可在C:Microsoft Visual StudioCommonGraphicsBitmapsTlBr_W95下选择(这里假设你的VB安装在C盘下)。注意了:在插入图片时给每一张图片注明关键字,以便在引用图片时不至于混乱。如插入“新建”的图片,我们在“关键字”栏注明“New”。 图片有了,接下来在程序界面添加工具栏(ToolBar)。添加后工具栏就出现在菜单下面,右键单击它,选择“属性”,在弹出的“属性页”对话框中的“通用”项作些设置,主要如下两项: 1.“图像列表”:选

20、择ImageList1 2.“样式”:根据喜爱选择1-trbStandard或者2-trbFlat 继续点击“属性页”的“按钮”选项,插入若干按钮。按钮有多种样式,请根据需要设置。这里请一定注意:每一个与用户操作有关的按钮都必须注明关键字、装载图片,如“新建”按钮,在“关键字”项注明“新建”,在“图像”项键入“New”(即ImageList1中的图片关键字),需要的话还可以在“工具提示文本”项填入适当的提示语。(二)编写工具栏的按钮代码 工具栏按钮的代码编辑很简单,可以按照下面的格式去编写: Private Sub ToolBar1_ButtonClick(ByVal Button As MS

21、ComctlLib.Button) On Error Resume Next 出错处理 Select Case Button.Key 按关键字选择 Case 新建 mnuNew_Click 等于菜单项“新建”被单击 Case 打开 等于菜单项“打开”被单击 mnuOpen_Click .(继续编写其它按钮的代码) End Select End Sub 完成后试运行一下我们的程序,我们发现,有了工具栏之后,程序变得漂亮多了,只是有一个问题:打开一个较长的文档后,编辑框的下拉滚动条向上的箭头不见了。原因是:工具条占用一定的空间。解决方法:将“设置编辑框的位置和大小”中的RichTextBox1.T

22、op = 20 和 RichTextBox1.Height = Me.ScaleHeight - 40分别改为RichTextBox1.Top = 380,RichTextBox1.Height = Me.ScaleHeight - 400即可。 主要控件名称作用今天我们一起用RichTextBox控件来做一个文本编辑器,这个文本编辑器具有比较完备的功能,例如:查找字串、设置字体等。通过这个程序,我们可以看到RichTextBox控件丰富的使用方法。 图程序中使用的RichTextBox控件在默认状态下不在控件面板中,我们可以在控件面板上点鼠标右键“添加”,在“添加选择对话框”中找到这个控件并

23、添加。这时控件面板上会出现图标,这就是这个小程序的主打控件RichTextBox。一个由RichTextBox实现的文本编辑器 名称作用Form1 主窗体 Open 通用对话框 RichTextBox1 RichTextBox New “新建”菜单项 Open “打开”菜单项 Save “保存”菜单项 Exit “退出”菜单项 Font “字体”菜单项 Find “查找”菜单项 Next “查找下一个”菜单项ShowOpen 显示“打开”对话框 ShowSave 显示“另存为”对话框ShowFont 显示“字体”对话框ShowHelp 调用 Windows 帮助引擎 CmdOpen.Flags

24、 = cdlCFBoth + cdlCFEffects CmdOpen.ShowFont 将RichTextBox1的属性根据“字体”对话框的变化作相应设置 要改变 RichTextBox 控件中的字体特性,可以使用 SelFontName、SelFontSize 和 SelFontColor 属性。控件中的每一个字符都有一个可唯一标识的整数索引。控件中文本的第一个字符的索引是 0。 end 可选的。决定在哪儿结束搜索的整数字符索引。 options 可选的。用来指定一个或多个可选功能常数的和。所指定的功能如“设置值”中所述。 RichTextBox1.SelPrint CmdOpen.hDC

25、 End Sub 当“保存”菜单项被点击时 Private Sub mnuSave_Click() CmdOpen.ShowSave RichTextBox的SaveFile方法,保存文本 RichTextBox1.SaveFile (CmdOpen.FileName) End Sub RichTextBox控件的常用的属性、事件和方法。RichTextBox 控件可用于输入和编辑文本,它同时提供了比常规的TextBox控件更高级的格式特性。 通过这些属性,可对该控件中任何部分的文本使用不同的格式,可以将文本变为粗体或斜体,改变文本的颜色,创建上标或下标,可以调整段落的左右缩进值,还可以使用悬

26、挂式缩进等。而且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是要查找的字

27、符串;start, end是查找开始和结束的位置,如果不指定的话默认是在全部文本中查找;options是查找时匹配的模式,有三种选择,rtfWholeWord为整个单词匹配而不是单词片段,rtfMatchCase为是否忽略字体的差别,rtfNoHighlight为找到的单词是否高亮显示。SelPrint方法:将RichTextBox控件中格式化文本发送给设备进行打印,使用的语法为:object.SelPrint(hdc),hdc为准备用来打印控件内容的设备的句柄。以上的方法和属性只是RichTextBox控件丰富用法的五、运行结果、系统关键界面的截图程序运行初始窗口 图(1)菜单 图(2) 右

28、击弹出式菜单 桌面 查找及打开功能六、心得体会通过本次的课程设计,总体来说难度适中,通过实践感觉这一学期的VB学习不是很深入,许多真正需要掌握的东西还没学会,或是没学好,原因是平时理论学习不够,没用真正理解,其次就是实践太少,不能熟练的使用VB开发环境。具体说文本编辑器的设计,首先是控件的使用要注意,例如不能使用平时一般的Text文本框、因为其只适用于一般的文本显示,使用RichTextBox,可拥有文本的完整功能,不再添加滚动条等控件,而是使其自带滚动条,其次是菜单的设计,应注意菜单的名称书写,不能出现重复现象,否则要使用索引,不仅增加麻烦更不利于程序编写,然后编写代码的时候应注意必须与菜单

29、中的名字一一对应,否则出现错误;最后要注意程序的完整性以及实用性、便捷性。总之,通过本次的VB课程设计,不仅找到了以前学习中的不足,更对我的能力有了很大的提高,更体会到了实践的重要性,所有的语言设计课程都必须通过实践来掌握,同时要建立在掌握理论知识的基础上,只有紧密的有机结合起来,才能真正学好一门语言设计课程。设计过程及答辩回答问题记载:(至少三个问题) 调试记录 X001 新建菜单 RichTextBox 1 去掉了中间的空格 X002 粘贴菜单 属性的使用无效 少了 = X003 菜单X004 菜单 心得体会: 通过调试记录 X001和X002,我对 . .(知识点)有了进一步了解 ,在 . .(情况1)下 该使用 . .(表达式 变量 属性 .) ,在 . .(情况2) 该使用 . .(表达式 变量 属性 .)指导教师评语:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号