vb课程设计文本编辑器

时间:2024.4.29

 

单    位   **** 分院(系)

专    业      ****    

学    号      ****    

学生姓名     *****     

指导教师       ***        

    

完成日期 ** 年 * 月* 日

摘  要

    自今年开学以来,我一直在学校学习vb程序设计,在为期半年的学习时间中,经历了一些软件设计开发的实践,在这些设计中学到许多书本上不能体会到的知识,下面将要介绍的一个设计,就是我在上课程设计时学到的,从老师的课程要求从而确定设计要求、项目的具体设计到项目的具体代码实施,在这个项目设计阶段,主要由我和我所在组的成员完成,他们对vb有着不少的经验,另外老师在这次项目开发中对我们起到了指导性的作用,使得我钦佩不已,下面就详细的说一下我们开发的这个项目。            一.设计目的

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

                   二设计要求、                   
本系统由两个菜单组成:文件、编辑,界面如图:

(1)文件菜单包括:新建、打开、保存、退出。

(2)编辑菜单包括:复制、剪贴、粘贴、字体设置。

要求:

1.1人完成

2. 利用菜单、工具栏实现上述功能。                                    应用控件名称:RichTextBox   CommonDialog 6.0

目录

1.选题的意义 --------------------------------5  

2.系统的功能能分 ---------------------------------------7

2.1 系统概述  ----------------------------------------------------------------7                                                     

2.2 系统的构成  -------------------------------------------------------------8                                                  

2.3系统的运行环境 ---------------------------------------------------------9                                              

2.4设计思路-------------------------------------------------------------------9                                         

3.主要控件功能介绍 ------------------------------------17

3.1  控件功能 ----------------------------------------------------------------17

3.2设计的代码 --------------------------------------------------------------21

4.总结--------------------------------------------------26

4.1总结-------------------------------------------------------------------------26

4.2 存在的主要问题----------------------------------------------------------26

参考文献-------------------------------------------------26


第一章 选题的意义

VB6.0全称为VisualBasic 6.0,是微软公司推出的可视化编程工具MSDN之一,是目前世界上使用最广泛的程序开发工具。如果你是一个对编程一无所知,而又迫切希望掌握一种快捷实用的编程语言的初学者,那选择VB 6.0没错的。即使考虑到VB程序本身编译和运行效率较低的不足(嘻嘻速度现在不是问题吧),单是它的快捷的开发速度,简单易学的语法,体贴便利的开发环境,它仍不失一款优秀的编程工具,是学习VB初学者的首选。也许你会问,我以前没学过任何一种语言,我能快速上手吗?别担心,没问题VB的语法的和QBASIB语言是基本相同的,也就是说它的语法是最容易被初学者所接受的。另外VB提供的是可视化的开发环境,我们可以象搭积木一样构建出程序的界面,而且VB提供了丰富的控件组,省去了我们自己写代码实现这些效果的麻烦,这样我们就能把更多的精力放在程序功能的实现上,所以VB学起来简单,用起来方便。接着看看VB语言的前景,在目前各种编程语言共存的时代,VB会不会落伍呢?当然不会了,在我写这篇文章的同时,微软已经透露了VB7.0将完全面向对象的消息,可以肯定下一代VB的功能一定会强大很多,我们这些所谓的 VB 程序员总算可以放心了,VB不会落后于时代,毕竟它是使用人数最多的优秀的开发工具。好了,侃了这么多关于VB的台前幕后,总之是为想学编程的你树立信心,编程一点都不难,只要你决定了开始,就让我们一起踏上愉快的编程之旅吧。接下来谈谈怎样学习VB,先说说“看实例学VB6.0”系列教程,它是面向编程初学者的VB入门教程,这个教程的特点是抛开晦涩难懂的概念和语法,不做内容上的堆积和罗列,而是采用了每节一个生动有趣的小例子的形式,每个小例子中会涉及到一个或几个VB编程的知识点(可能是控件,也许会是某个函数或编程小技巧),使你快速入门。希望你学完此教程后能达到下述的效果: 从对编程一窍不通或从未接触过编程的状态,通过学习能够对VB6.0的编程环境比较熟悉,掌握VB开发界面的使用方法;对VB语言的基本语法大致了解,知道常见的语句的意义;学习VB常用控件的使用方法,并能将它们灵活运用到应用程序中;能开发简单的VB程序。到那时你已经能够继续深入的学习VB编程,可以继续参与到程序设计栏目其他版块的学习中去,嘻嘻,目标就是这样啦。然后谈谈学习编程的方法,万事开头难,刚刚开始,遇到些困难没关系,慢慢来。编程是一个不断学习,不断积累的过程,编程的乐趣也正是存在于学习的过程中。我们每学一点,就赶快把它用到实际的程序中去,自己多学多用多实践,水平才能不断提高,这就是“学以致用”。另外,编程涉及到很多的知识,象操作系统的、软件工程的、硬件系统的以及编程思想等各个方面,这就需要我们多看看这方面的资料,扩充自己的知识面。还有如果学习过程中遇到了什么问题,或者有什么好的心得,你可以到洪恩的“网上交流”的“编程技术”版去提问求助或是发表文章,那里有许多编程高手可以为你答疑,还有许多同样的初学者一起交流。“求知无限”是网上学习的特点,如果你觉得自己能够更深的学习VB或是其他编程的知识时,“程序设计”栏目的其他版块将是理想的去处,希望我们能在这样的学习环境中不断进步。教程分为三个大的部分,它们是由浅入深的一个系列,分别是:一、熟悉一下VB6.0的编程环境二、学习VB常用控件的使用方法三、试着开发简单的VB应用程序,所以我们选择了小小的文本编器来丰富我们的知识。


第二章系统功能需求分析

2.1 系统概述

简介

 文本编辑器(或称文字编辑器)是用作编写普通文字的应用软件,它与文档编辑器(或称文字处理器)不同之处在于它并非用作桌面排版(例如文档格式处理)。它常用来编写程序的源代码。

常见的有Linux下的vi、emacs、gedit、DOS下的edit、Windows下的记事本、写字板等等。

如何使用文本编辑器:开始/运行输入edit命令进入文本编辑器进行编辑文本;也可以在cmd下输入edit进入文本编辑器。文本编辑器类似c语言界面。是一种很实用的文本编辑软件。

典型功能

查找和替换

在一个文本文件中查找一个词或者一个字符串,把一个字符串替换成另一个字符串。可采取各种方式进行:全局查找替换、条件查找替换、无条件查找替换。

剪切、复制、粘贴

大多数文本编辑器都支持文件内的或者文件间的复制或者移动。

字体设置

大多数文本编辑器都有字体设置这一个功能

打开、保存、新建、

这也是文本编辑器的一个最简单的功能

2.2系统构成

只由有一个界面组成简单见图


2.3系统的运行环境

在装有vb程序的计算机中运行。

2.4设计思路

步骤一:绘制界面。 

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

步骤二:编辑菜单。 

按Ctrl+E调出菜单编辑器,我们来做如下几个菜单: 

一.文件菜单: 

文件(第一层) mnuFile

新建(第二层) mnuNew

打开(第二层) mnuOpen

保存(第二层) mnuSave

- (第二层) mnuFileSep (分隔线) 

退出(第二层) mnuExit

二.编辑菜单: 

编辑(第一层) mnuEdit

复制(第二层) mnuCopy

剪切(第二层) mnuCut

粘贴(第二层) mnuPaste

- (第二层) mnuEditSep (分隔线) 

全选(第二层) mnuSelecAll

三.搜索菜单: 

搜索(第一层) mnuSearch

查找(第二层) mnuFind

查找下一个(第二层) mnuFindOn

四.帮助菜单: 

帮助(第一层) mnuHelp

使用说明(第二层) mnuUsage

关于(第二层) mnuAbout

(注:各菜单项的快捷键请自行设置)

好了,其它的菜单项以后再根据需要添加。现在进入: 

步骤三:编写代码。 

'声明查找变量 

Dim sFind As String

'声明文件类型 

Dim FileType, FiType As String

'初始化程序 

Private Sub Form_Load()

'设置程序启动时的大小 

Me.Height = 6000

Me.Width = 9000

End Sub

'设置编辑框的位置和大小 

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 mnuNew_Click()

RichTextBox1.Text = "" '清空文本框 

FileName = "未命名"

Me.Caption = FileName

End Sub

'打开文件 

Private Sub mnuOpen_Click()

CommonDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"

CommonDialog1.ShowOpen

RichTextBox1.Text = "" '清空文本框 

FileName = CommonDialog1.FileName

RichTextBox1.LoadFile FileName

Me.Caption = "超级记事本:" & FileName

End Sub

'保存文件 

Private Sub mnuSave_Click()

CommonDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"

CommonDialog1.ShowSave

FileType = CommonDialog1.FileTitle

FiType = LCase(Right(FileType, 3))

FileName = CommonDialog1.FileName

Select Case FiType

Case "txt"

RichTextBox1.SaveFile FileName, rtfText

Case "rtf"

RichTextBox1.SaveFile FileName, rtfRTF

Case "*.*"

RichTextBox1.SaveFile FileName

End Select

Me.Caption = "超级记事本:" & FileName

End Sub

'退出 

Private Sub mnuExit_Click()

End

End Sub

'复制 

Private Sub mnuCopy_Click()

Clipboard.Clear

Clipboard.SetText RichTextBox1.SelText

End Sub

'剪切 

Private Sub mnuCut_Click()

Clipboard.Clear

Clipboard.SetText RichTextBox1.SelText

RichTextBox1.SelText = ""

End Sub

'全选RichTextBox1.SelStart = 0

RichTextBox1.SelLength = Len(RichTextBox1.Text)

Private Sub mnuSelectAll_Click()

RichTextBox1.SelStart = 0

RichTextBox1.SelLength = Len(RichTextBox1.Text)

End Sub

'粘贴 

Private Sub mnuPaste_Click()

RichTextBox1.SelText = Clipboard.GetText

End Sub

'查找 

Private Sub mnuFind_Click()

sFind = InputBox("请输入要查找的字、词:", "查找内容", sFind)

RichTextBox1.Find sFind

End Sub

'继续查找 

Private Sub mnuFindOn_Click()

RichTextBox1.SelStart = RichTextBox1.SelStart + RichTextBox1.SelLength + 1

RichTextBox1.Find sFind, , Len(RichTextBox1)

End Sub

'使用说明 

Private Sub mnuReadme_Click()

On Error GoTo handler

RichTextBox1.LoadFile "Readme.txt", rtfText '请写好Readme.txt文件并存入程序所在文件夹中 

Me.Caption = "超级记事本:" & "使用说明"

Exit Sub

handler:

MsgBox "使用说明文档可能已经被移除,请与作者联系。", vbOKOnly, " 错误信息"

End Sub

'关于 

Private Sub mnuAbout_Click()

MsgBox "超级记事本 Ver1.0 版权所有(C) 20## 土人",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

至此,我们的记事本可以编译使用了。点击菜单“文件”-“生成XXX.EXE”,回到桌面运行我们的记事本看看,是不是颇有成就感? 

当然,这样的记事本还比较粗糙,我们还需要做些工作,请看下一章。 

第二章 美化程序界面 

多数字处理软件都有工具栏和状态栏。工具栏和状态栏除了能美化我们的程序使其更具有专业性质外,还给用户带来操作上的便利。现在我们就来做一做这两样东西。 

一.工具栏 

(一)制作工具栏 

单击“工程”-“部件”,选中Microsoft Windows Common Control 6.0并确定。这时,我们要用到的控件就出现在左边的工具栏上了。 

要做工具栏,首先需要一个叫ImageList的控件来装载图像。在程序界面上添加它,然后右键单击此控件,左键单击“属性”,弹出“属性页”对话框的“图像”,再单击“插入图片”就可以一次性装载图片了(如不满意,以后还可以添加)。图片可在C:\Microsoft Visual Studio\Common\Graphics\Bitmaps\TlBr_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即可。 

二.状态栏 

(一)制作状态栏 

状态栏的英文名字叫StatusBar,在窗体上添加它后会默认出现在窗体的最下方。用鼠标右键点击它,调出“属性页”对话框,单击“窗格”项,插入一些窗格,可以将各个窗格的“样式”设置为: 

0-sbrText 显示文本,需编写代码 

1-sbrCaps 显示大小写状态,无需编程 

2-sbrNum 显示NumLock键开关状态,无需编程 

3-sbrIns 显示Insert键状态,无需编程 

4-sbrScr1

5-sbrTime 显示时间,不编程时时间不会随系统时钟变化 

6-sbrDate 显示日期,无需编程 

注意:加进状态栏后需将Form_Resze中的RichTextBox1.Height = Me.ScaleHeight - 400改为RichTextBox1.Height = Me.ScaleHeight - 600。 

(二)状态栏根据其“样式”属性决定用不用编写代码(如上文所述)。下面举些例子,读者可以认真揣摩,从而达到举一反三的效果。 

例一:用户选取了“新建”后,让第一个窗格显示:“目前状态:正在打开文件《……》”。请将下面代码写进“打开”菜单里面: 

StatusBar1.Panels(1).Text = "目前状态:正在打开文件" & "《" &CommonDialog1.FileTitle & "》"

例二:让第三个窗格显示时间并让时间跟随系统时钟变化。 

首先,给程序加一个Timer控件,将其Interval属性设为1000。然后: 

在Form_Load过程加入:StatusBar1.Panels(1).Text = Time;然后给Timer控件编写代码: 

Private Sub Timer1_Timer()

If StatusBar1.Panels(3).Text <> CStr(Time) Then

StatusBar1.Panels(3).Text = Time

End If

End Sub

例三:当编辑框的文本发生变化时让第一个窗格显示:“正在编辑文档:文件名”。 

Private Sub RichTextBox1_Chang()

StatusBar1.Panels(1).Text = "正在编辑文档:" & CommonDialog1.FileName

End Sub

第三章 主要控件功能介绍

3.1  控件功能

今天我们一起用RichTextBox控件来做一个文本编辑器,这个文本编辑器具有比较完备的功能,例如:查找字串、设置字体等。通过这个程序,我们可以看到RichTextBox控件丰富的使用方法。 

  程序中使用的RichTextBox控件在默认状态下不在控件面板中,我们可以在控件面板上点鼠标右键“添加”,在“添加选择对话框”中找到这个控件并添加。这时控件面板上会出现richtextbox小图标图标,这就是这个小程序的主打控件RichTextBox。

为了学习的方便,提供的源代码都提供了详细的中文注释,如下所示:

 一个由RichTextBox实现的文本编辑器 '名称作用Form1 主窗体 ' CmdOpen 通用对话框 ' RichTextBox1 RichTextBox ' mnuNew “新建”菜单项 ' mnuOpen “打开”菜单项 ' mnuSave “保存”菜单项 ' mnuExit “退出”菜单项 ' mnuFont “字体”菜单项 ' mnuPrint “打印”菜单项 ' mnuFind “查找”菜单项 ' mnuNext “查找下一个”菜单项 变量作' sFind 待查找的字符串 ' Option Explicit Public sFind As String Private Sub Form_Resize() '如果窗体不处于最小化RichTextBox1状态,改变RichTextBox1大小以适应窗体大小变化 If Form1.WindowState <> 1 Then RichTextBox1.Width = Form1.Width - 135 If Form1.Height < 1200 Then Form1.Height = 1200 End If RichTextBox1.Height = Form1.Height - 675 End If End Sub '当“退出”菜单项被点击时 Private Sub mnuExit_Click() Unload Me End End Sub '当“查找”菜单项被点击时 Private Sub mnuFind_Click() 'InputBox("弹出的输入框的标题",[默认值], [返回的值]) '语法:InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context]) sFind = InputBox("Find what?", , sFind) 'RichTextBox1.Find 是一个方法,根据给定的字符串,在 RichTextBox 控件中搜索文本 RichTextBox1.Find sFind End Sub '当“字体”菜单项被点击时 Private Sub mnuFont_Click() '显示“字体”对话框 '使用指定的方法,CommonDialog 控件能够显示下列对话。 '---------------------------------------- '方法 所显示的对话框 '---------------------------------------- 'ShowOpen 显示“打开”对话框 'ShowSave 显示“另存为”对话框 'ShowColor 显示“颜色”对话框 'ShowFont 显示“字体”对话框 'ShowPrinter 显示“打印”或“打印选项”对话框 'ShowHelp 调用 Windows 帮助引擎 CmdOpen.Flags = cdlCFBoth + cdlCFEffects CmdOpen.ShowFont '将RichTextBox1的属性根据“字体”对话框的变化作相应设置  '要改变 RichTextBox 控件中的字体特性,可以使用 'SelFontName、SelFontSize 和 SelFontColor 属性。With RichTextBox1 .SelFontName = CmdOpen.FontName .SelFontSize = CmdOpen.FontSize .SelBold = CmdOpen.FontBold .SelItalic = CmdOpen.FontItalic .SelStrikeThru = CmdOpen.FontStrikethru .SelUnderline = CmdOpen.FontUnderline End With End Sub '当“新建”菜单项被点击时,设置为空 Private Sub mnuNew_Click() RichTextBox1.Text = "" End Sub '当“查找下一个”菜单项被点击时 Private Sub mnuNext_Click() 'SelStart属性-返回或设置所选择的文本的起始点;如果没有文本被选中,则指出插入点的位置。 RichTextBox1.SelStart = RichTextBox1.SelStart + RichTextBox1.SelLength + 1 'object.Find(string, start, end, options) '------------------------------------------ 'Find 方法的语法包含下面部分: '部分 描述 '----------------------------------------- 'object 必需的。对象表达式,其值是“应用于”列表中的一个对象。 'string 必需的。要在控件中查找的字符串表达式。 'start 可选的。决定从哪儿开始搜索的整数字符索引。控件中的每一个字符都有一个可唯一标识的整数索引。控件中文本的第一个字符的索引是 0。 'end 可选的。决定在哪儿结束搜索的整数字符索引。 'options 可选的。用来指定一个或多个可选功能常数的和。所指定的功能如“设置值”中所述。 '----------------------------------------- RichTextBox1.Find sFind, , Len(RichTextBox1) End Sub '当“打开”菜单项被点击时 Private Sub mnuOpen_Click() '参看上面CommonDialog方法 CmdOpen.ShowOpen 'RichTextBox的LoadFile方法 RichTextBox1.LoadFile (CmdOpen.FileName) End Sub '当“打印”菜单项被点击时 Private Sub mnuPrint_Click() CmdOpen.Flags = cdlPDReturnDC + cdlPDNoPageNums If RichTextBox1.SelLength = 0 Then CmdOpen.Flags = CmdOpen.Flags + cdlPDAllPages Else CmdOpen.Flags = CmdOpen.Flags + cdlPDSelection End If '参看上面CommonDialog方法 CmdOpen.ShowPrinter '将 RichTextBox 控件中格式化文本发送给设备进行打印。 '语法 'object.SelPrint (hDC) 'SelPrint 方法的语法包含下面部分: '部分 描述 '----------------------------------------------- 'object 对象表达式,其值是“应用于”列表中的一个对象。 'hdc 设备描述体,是准备用来打印控件内容的设备。 '----------------------------------------------- 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控件所不可比拟的。

RichTextBox 控件的主要属性有:
SelFontName、SelFontSize 和 SelFontColor,它们用来设置文字的字体、大小和颜色。使用的语法是:
object.SelColor [= color] 需要注意的是,这个属性改变的是选中文字的属性,而不是所有的文字,这样我们可以在编辑框内出现不同的字体、颜色等。

●另外程序中还用到了SelLength属性-返回或设置所选择的字符数。SelStart属性-返回或设置所选择的文本的起始点;如果没有文本被选中,则指出插入点的位置。 RichTextBox控件的主要方法有:
  ●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为整个单词匹配而不是单词片段,rtfMatchCase为是否忽略字体的差别,rtfNoHighlight为找到的单词是否高亮显示。
  ●SelPrint方法:将RichTextBox控件中格式化文本发送给设备进行打印,使用的语法为:object.SelPrint(hdc),hdc为准备用来打印控件内容的设备的句柄。

以上的方法和属性只是RichTextBox控件丰富用法的

3.2  设计的代码

Dim sfind As String

Dim fileType, fitype As String

Private Sub Form_Load()

Me.Height = 6000

Me.Width = 9000

End Sub

Private Sub Form_Resize()

On Error Resume Next '出错处理

RichTextBox1.Top = 600

RichTextBox1.Left = 20

RichTextBox1.Height = ScaleHeight - 300

RichTextBox1.Width = ScaleWidth - 40

End Sub

Private Sub mnuFont_Click()

'当“字体”菜单项被点击时

'显示“字体”对话框

'使用指定的方法,CommonDialog 控件能够显示下列对话。

'----------------------------------------

'方法         所显示的对话框

'----------------------------------------

'ShowOpen    显示“打开”对话框

'ShowSave    显示“另存为”对话框

'ShowColor   显示“颜色”对话框

'ShowFont    显示“字体”对话框

'ShowPrinter 显示“打印”或“打印选项”对话框

'ShowHelp    调用 Windows 帮助引擎

'----------------------------------------

 CommonDialog1.Flags = cdlCFBoth + cdlCFEffects

 CommonDialog1.ShowFont

'将RichTextBox1的属性根据“字体”对话框的变化作相应设置

'----------------------------------------

'要改变 RichTextBox 控件中的字体特性,可以使用

'SelFontName、SelFontSize 和 SelFontColor 属性。

'----------------------------------------

With RichTextBox1

    .SelFontName = CommonDialog1.FontName

    .SelFontSize = CommonDialog1.FontSize

    .SelBold = CommonDialog1.FontBold

    .SelItalic = CommonDialog1.FontItalic

    .SelStrikeThru = CommonDialog1.FontStrikethru

    .SelUnderline = CommonDialog1.FontUnderline

End With

End Sub

Private Sub mnuNew_Click()

  RichTextBox1.Text = "" '清空文本框

  FileName = "未命名"

  Me.Caption = FileName

  End Sub

 

 

  '打开文件

  Private Sub mnuOpen_Click()

  CommonDialog1.Filter = "文本文档(*.txt)│*.txt│RTF文档(*.rtf)│*.rtf│所有文件(*.*)│*.*"

  CommonDialog1.ShowOpen

  RichTextBox1.Text = "" '清空文本框

  FileName = CommonDialog1.FileName

  RichTextBox1.LoadFile FileName

  Me.Caption = "超级记事本:" & FileName

  End Sub

 

  '保存文件

  Private Sub mnuSave_Click()

  CommonDialog1.Filter = "文本文档(*.txt)│*.txt│RTF文档(*.rtf)│*.rtf│所有文件(*.*)│*.*"

  CommonDialog1.ShowSave

  fileType = CommonDialog1.FileTitle

  fitype = LCase(Right(fileType, 3))

  FileName = CommonDialog1.FileName

  Select Case fitype

  Case "txt"

  RichTextBox1.SaveFile FileName, rtfText

  Case "rtf"

  RichTextBox1.SaveFile FileName, rtfRTF

  Case "*.*"

  RichTextBox1.SaveFile FileName

  End Select

  Me.Caption = "超级记事本:" & FileName

  End Sub

 

  '退出

  Private Sub mnuExit_Click()

  End

  End Sub

 

  '复制

  Private Sub mnuCopy_Click()

  Clipboard.Clear

  Clipboard.SetText RichTextBox1.SelText

  End Sub

 

  '剪切

  Private Sub mnuCut_Click()

  Clipboard.Clear

  Clipboard.SetText RichTextBox1.SelText

  RichTextBox1.SelText = ""

  End Sub

 

  '全选

  Private Sub mnuSelectAll_Click()

  RichTextBox1.SelStart = 0

  RichTextBox1.SelLength = Len(RichTextBox1.Text)

  End Sub

 

  '粘贴

  Private Sub mnuPaste_Click()

  RichTextBox1.SelText = Clipboard.GetText

  End Sub

 

  '查找

  Private Sub mnuFind_Click()

  sfind = InputBox("请输入要查找的字、词:", "查找内容", sfind)

  RichTextBox1.Find sfind

  End Sub

 

  '继续查找

  Private Sub mnuFindOn_Click()

  RichTextBox1.SelStart = RichTextBox1.SelStart + RichTextBox1.SelLength + 1

  RichTextBox1.Find sfind, , Len(RichTextBox1)

  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

Private Sub ToolBar1_ButtonClick(ByVal Button As MSComctlLib.Button)

  On Error Resume Next '出错处理

  Select Case Button.Key '按关键字选择

  Case "新建"

  mnuNew_Click '等于菜单项“新建”被单击

  Case "打开" '等于菜单项“打开”被单击

  mnuOpen_Click

Case "保存" '等于菜单项“打开”被单击

  mnuSave_Click

Case "复制" '等于菜单项“打开”被单击

  mnuCopy_Click

Case "剪切" '等于菜单项“打开”被单击

  mnuCut_Click

Case "查找" '等于菜单项“打开”被单击

  mnuFind_Click

  End Select

  End Sub

Private Sub RichTextBox1_Chang()

  StatusBar1.Panels(1).Text = "正在编辑文档:" & CommonDialog1.FileName

  End Sub

第四章   总结

4.1总结

通过这次作题我明白了许多 vb 的知识和运用。

4.2系统存在的问题

主要存在的问题是查找的应用和替换的应用

第五章 参考文献

Vb课程设计---------------------------------------铁道大学

更多相关推荐:
VB课程设计报告 (32)

沈阳航空航天大学课程设计任务书学院机电工程专业机械设计制造及其自动化班级04060101学号20xx040601011题目选择教师系统一课程设计时间20xx年3月59日第1周共计1周20学时二课程设计内容有5位...

VB课程设计报告

课程设计题目个人收支管理难度:☆☆☆姓名:刘泽禄学号:913103860633随着社会生活步调的不断加快,人们越来越繁忙。也因此各项收入和支出名目繁多,如果不善于管理常会出现入不敷出,工资感觉没怎么用到月底就已…

VB课程设计报告(实例样本)1

VB程序设计报告学院土木工程专业工程管理班级1102学号20xx02938姓名若笔奇诺一课程设计题目成绩计算模拟系统二课程设计工作自20xx年5月15日起至20xx年6月1日止三课程设计地点兰州交通大学四课程设...

VB课程设计实验报告

VB课程设计实验报告题目:超市销售管理系统任课教师:专业:姓名:学号:班级:一、目的:本次课程设计结合是实际应用的要求,使课程设计既覆盖VB的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养我们学…

vb课程设计报告-仓库管理系统

VB程序设计实验报告姓名:班级:学号:专业:软件工程指导老师:20##年5月13日目录实验题目3实验要求3设计思路3实验流程图3源程序清单4运行界面6存在问题6解决思路6心得6教师评语6评分6内容摘要:仓库管理…

VB课程设计报告样例

南京理工大学能源与动力工程学院VB课程设计报告题目1贪吃蛇游戏题目2列车时刻查询指导老师张小兵学生姓名学号专业班级1008320120xx年3月20日VB程序设计课程设计报告VB程序设计课程设计任务书题目用VB...

VB课程设计报告

课程设计报告书课程设计名称VB程序设计报告书系部专业班级学生姓名XXX学号指导教师完成日期20xx年1月6日山东科技大学泰山科技学院12课程设计报告书一前言VisualBasic是可视化程序设计语言具有简单易学...

VB程序设计课程报告

课程综合设计报告设计题目班级名称团队编号团队成员大家一起来找茬VB程序设计课程综合设计目录一课程的主要目标1二课程设计的介绍1三课程设计的主要功能11窗体一Form112窗体二Form22四课程设计的主要特色2...

VB简易记事本课程设计报告

课程记事本的开发学号姓名班级专业小组成员20xx1引言随着计算机硬件技术的不断进步计算机已经从当初的计算工具演变为如今的信息终端性质的工具服务于各个行业领域人们获取信息的方式是多种多样的飞速发展的计算机技术给人...

VB大作业课程设计报告(仅供参考和交流)

题目名称班级姓名班级序号课程教师学期完成时间VB程序设计课程大作业多功能计时器20xx20xx学年第2学期20xx年6月2日一课题的选材过程得知大作业的要求后我便开始构思此次的大作业因为老师要求比较宽松可以自拟...

VB课程设计报告。

南京工程学院课程设计说明书论文题目密码登录课程名称VB课程设计报告院系部中心专业班级暖通091学生姓名刘江淮学号20xx90822设计地点图书馆指导教师于雷设计起止时间20xx年6月28日至20xx年7月31一...

简易计算器VB课程设计报告

简易计算器要求用VB做类似于windows自带的计算器程序绪论VisualBasicVB是一种由微软公司开发的包含协助开发环境的事件驱动编程语言从任何标准来说VB都是世界上使用人数最多的语言不仅是盛赞VB的开发...

vb课程设计报告(36篇)