用VB做文本编辑器

  • 格式:doc
  • 大小:36.00 KB
  • 文档页数:7

意思就是做个记事本吧

看下面的

用VB做一个记事本实在不很复杂,我们完全可以通过向导来很方便地做出来。但本文只打算讨论用手动方法制作记事本,旨在向VB初学者展示:学VB原来是如此容易!

通过阅读、研究本文并按本文所述进行尝试,初学者将学到很多东西,如怎样使用RichText控件来打开和保存文件,怎样制作菜单、工具栏和状态栏以及如何对其编写代码等。

第一章 让我们的记事本马上运行

急于求成是初学者共有的心愿。那好,请按如下三个步骤做,我们的愿望立即就可以实现!

步骤一:绘制界面。

新建一个标准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

'全选

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

至此,我们的记事本可以编译使用了。点击菜单“文件”-“生成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中的图片关键字),需要的话还可以在“工具提示文本”项填入适当的提示语。