vb课程设计记事本程序的编写
1 选题的背景与意义
记事本创建的背景
通过一学期的vb课程学习,理解并掌握了许多相关知识,知道了面向对象程序设计的基本概念和可视化程序设计的基本方法。为了更好地掌握与运用vb 中最常用的有关窗体和各种控件的运用、菜单、工具栏、对话框、状态栏、的设计以及文件操作等技术,因此在在学完该课程之后,设计了一个能够编辑编辑文本文档、RichText 文档,其文字处理能力类似于Word的简易记事本。
记事本创建的意义
该记事本具有操作简单,易懂灵活,一目了然的特点,同时由于运用了RichText控件,因此能够打开和编辑任意大的文档,运用起来比windows自带的记事本方便的多。从而为那些计算机技术应用并不熟练但需要使用计算机快速编辑和修改文档的用户提供了便利。同时该程序的编写也使得自己的知识掌握的更见牢固。
2 系统详细设计
主要功能
能够编辑文本文档,其文字处理功能类似于Word。
具有打开、保存、新建和退出文件功能。
具有剪切、复制、粘贴、设置文字的字体以及大小、颜色、对齐等文字编功能。以及字符串的查找功能。
打印功能。
要点的实现既使用技术
首先,在创建程序是应先设置窗体大小和编辑框的大小。
'窗体的加载事件
Private Sub Form_Load()
= 0
= 0
= - 4000
= - 5000
= "宋体" '程序运行时字体是宋体
End Sub
'设置编辑框的大小和位置
Private Sub Form_Resize()
= 60
= 20
= - 100
= - 100
End Sub
第二,程序设计过程中必须先在窗体中添加CommonDialog和RichText控件。
如左图所示。CommonDialog控件的应用使得它提
供了如打开和保存文件,设置打印选项,选择颜
色和字体等操作的一组标准对话框,使我们通过
对话框填写的方式来实现上述操作。RichText控
件的使用是编辑和打开的文件大小不受限制。有
利于文件的编辑。
第三,程序的编写过程中大部分对象的实现都是通过它们的单击事件进行
的。如打开、保存、新建、复制、粘贴、字体颜色和大小(如上图打开和字体的
通用对话框)
'打开文件
Private Sub mnuOpen_Click()
On Error GoTo error
= "文本文档(*.txt)|*.txt|RTF文档(*|.rtf)*.rtf|所有文件(*.*)|*.*" '设置过滤器属性
= 1
= "" '清空文本
FileName =
FileName 'loadfile将磁盘文件装入空间之中
= "记事本"
error:
End Sub
'字体
Private Sub mnuFont_Click()
On Error GoTo error
= cdlCFBoth Or cdlCFEffects
=
=
= '粗体
= '斜体
= '下划线
= '删除线
error:
End Sub
第四,在“新建”和“退出”事件中应用了MsgBox函数,当用户在退出或
新建时忘记保存文时,弹出消息框询问用户是否保存文件,以防止文件的丢失。
'退出文件
Private Sub mnuExit_Click()
If MsgBox("你的文档还没有保存,是否对当前问价进行保存?", vbYesNoCancel, "记事本") = vbYes Then
mnuSave_Click 'vbyesnocancel 显示yes no 及cancel按钮
ElseIf MsgBox("你还没有保存文档,是否对当前操作文档进行保存?", vbYesNoCancel, "记事本") = vbNo Then
End
Else
End If
End Sub
第五,在“查找”实践中应用了输入语句中的IputBox函数,用于用户在查找过程中输入所需要查找的字符串。
'查找
Private Sub mnuFind_Click()
sFind = InputBox("请输入要查找的字,词:", "查找内容", sFind)
sFind
End Sub
第六,在文件保存中使用了SelectCase语句,在打印中使用了for循环语
句,同时在新建和退出事件中调用了保存的代码。
'保存文件
Private Sub mnuSave_Click()
CancelError = True
On Error GoTo error
= "文本文档(*.txt)|*.txt|RTF文档(*|.rtf)*.rtf|所有文件(*.*)|*.*" '设置过滤器属性
= 1
FileType =
FiType = LCase(Right(FileType, 3))
FileName =
Select Case FiType
Case "txt"
FileName, rtfText
Case "rtf"
FileName, rtfRTF
Case "*.*"
FileName
End Select
= "记事本:" & FileName
error:
End Sub
Private Sub mnuPrint_Click()
On Error GoTo error
For i = 1 To
Next i
error:
End Sub
最后,应用了鼠标事件,是用户在单击鼠标右键时,弹出编辑菜单。
'鼠标右击事件
Private Sub RichTextBox1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = vbRightButton Then
PopupMenu mnuEdit, vbPopupMenuLeftAlign
Else
Exit Sub
End If
End Sub
设计中遇到的问题及解决方法
问题
(一)单击字体按钮时,显示出错误提示“没有安装字体,请从控制面板打开字体文件夹以便安装字体。
(二)单击保存和打开按钮时,无法实相关功能。
(三)在编写保存、打开、打印、字体等能够显示通用对话框的程序时,运行后在对话框中按取消按钮时,出现错误。
解决方案
(一)使用CommonDialog控件选择字体之前必须设置Flags属性。Flags=cdlCEFBboth or cdlCFEffects 表示显示屏幕字体和打印字体,并且出现删除线、下划线、颜色等元素。
(二)保存和打开中相关的对象名称没有正确输入,将英语中的大写字母写成了小写,导致错误出现。
(三)没有编写取消按钮的相关程序,在出现标准对话框的对象程序代码中加入On Error GoTo Error
Error:
语句,使得按取消按钮后返回文档编辑页面。
软件的使用方法
记事本使用方法特别简单,打开记事本后在编辑文档处编辑相关的文档,当进行文件的保存、打开、新建、打印和退出时直接单击文件下拉菜单单击对应的命令选项即可实现上述操作。当进行复制、粘贴,剪切和查找功能时鼠标右击或是选择编辑下拉菜单中相关选项。设置字体是需要先选中字体,然后进行相关操作。
课程设计心的
记事本程序的编写,使我得到深刻的认识和体会,同时也学到了许多相关的专业知识。
使我感触最深的当属查阅大量的关于vb课程中记事本设计的资料了,为了解决相关的问题并且是自己的设计更加完善,查阅这方面的资料是十分必要的,同时也是必不可少的。因此对于这方面的知识掌握更加牢固题解更加深刻。
其次,通过此次课程设计,使我更加扎实地掌握了有关方面的知识,再设计过程中遇到了一些问题,但经过一次一次的思考,一遍一遍的检查终于找除了原因所在,也曝露出了我在这方面知识的欠缺与不足。实践出真知,通过亲自动手制作,是我们掌握知识不再是纸上谈兵。同时也使我深深体会到在学习中一定要不懈努力,不能遇到问题就退缩,只有这样才能成功地做成想做的事,才能在今后的道路上披荆斩棘收获成功和喜悦,才能得到社会和他人的认可。
同时我也认识到做任何一件事情认真仔细也是必不可少的。有时一个小小的错误看起来是无可厚非的,但它可能会影响整个过程的发展,同时也会浪费我们的精力与时间。
总之,通过这次课程设计使我收获甚多,提高了自己的动手能力和独立思考能力,也让我对未来的学习充满了信心。
参考文献
1 尹建新,夏其表..第一版.科学出版社,2008
2 张敬宇,郑艳娟. VisualBasic.第一版.程序设计教程,2006
3 龙马工作室.新编 2005 程序设计从入门到精通.人民邮电出版社.2008
4 沈洪,施明利,朱军.VB程序设计.清华大学出版社.2010