首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 认证考试-> ORACLE认证
跟我学做记事本_visualbasic教程
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
用VB做一个记事本实在不很复杂,我们完全可以通过向导来很方便地做出来。但本文只打算讨论用手动方法制作记事本,旨在向VB初学者展示:学VB原来是如此容易!
通过阅读、研究本文并按本文所述进行尝试,初学者将学到很多东西,如怎样使用RichText控件来打开和保存文件,怎样制作菜单、工具栏和状态栏以及如何对其编写代码等。

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

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

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

步骤二:编辑菜单。
按Ctrl E调出菜单编辑器,我们来做如下几个菜单:
一.文件菜单:
文件(第一层)mnuFile
新建(第二层)mnuNew
打开(第二层)mnuOpen
保存(第二层)mnuSave
-(第二层)mnuFileSep(分隔线)
退出(第二层)mnuExit
二.编辑菜单:
编辑(第一层)mnuEdit
复制(第二层)mnuCopy
剪切(第二层)mnuCut
粘贴(第二层)mnuPaste
-(第二层)mnuEditSep(分隔线)
全选(第二层)mnuSelecAll
三.搜索菜单:
搜索(第一层)mnuSearch
查找(第二层)mnuFind
查找下一个(第二层)mnuFindOn
四.帮助菜单:
帮助(第一层)mnuHelp
使用说明(第二层)mnuUsage
关于(第二层)mnuAbout
(注:各菜单项的快捷键请自行设置)

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

步骤三:编写代码。

声明查找变量
DimsFindAsString
声明文件类型
DimFileType,FiTypeAsString

初始化程序
PrivateSubForm_Load()
设置程序启动时的大小
Me.Height=6000
Me.Width=9000
EndSub

设置编辑框的位置和大小
PrivateSubForm_Resize()
OnErrorResumeNext出错处理
RichTextBox1.Top=20
RichTextBox1.Left=20
RichTextBox1.Height=ScaleHeight-40
RichTextBox1.Width=ScaleWidth-40
EndSub

新建文件
PrivateSubmnuNew_Click()
RichTextBox1.Text=""清空文本框
FileName="未命名"
Me.Caption=FileName
EndSub


打开文件
PrivateSubmnuOpen_Click()
CommonDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
CommonDialog1.ShowOpen
RichTextBox1.Text=""清空文本框
FileName=CommonDialog1.FileName
RichTextBox1.LoadFileFileName
Me.Caption="超级记事本:"&FileName
EndSub

保存文件
PrivateSubmnuSave_Click()
CommonDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
CommonDialog1.ShowSave
FileType=CommonDialog1.FileTitle
FiType=LCase(Right(FileType,3))
FileName=CommonDialog1.FileName
SelectCaseFiType
Case"txt"
RichTextBox1.SaveFileFileName,rtfText
Case"rtf"
RichTextBox1.SaveFileFileName,rtfRTF
Case"*.*"
RichTextBox1.SaveFileFileName
EndSelect
Me.Caption="超级记事本:"&FileName
EndSub

退出
PrivateSubmnuExit_Click()
End
EndSub

复制
PrivateSubmnuCopy_Click()
Clipboard.Clear
Clipboard.SetTextRichTextBox1.SelText
EndSub

剪切
PrivateSubmnuCut_Click()
Clipboard.Clear
Clipboard.SetTextRichTextBox1.SelText
RichTextBox1.SelText=""
EndSub

全选
PrivateSubmnuSelectAll_Click()
RichTextBox1.SelStart=0
RichTextBox1.SelLength=Len(RichTextBox1.Text)
EndSub

粘贴
PrivateSubmnuPaste_Click()
RichTextBox1.SelText=Clipboard.GetText
EndSub

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

继续查找
PrivateSubmnuFindOn_Click()
RichTextBox1.SelStart=RichTextBox1.SelStart RichTextBox1.SelLength 1
RichTextBox1.FindsFind,,Len(RichTextBox1)
EndSub

使用说明
PrivateSubmnuReadme_Click()
OnErrorGoTohandler
RichTextBox1.LoadFile"Readme.txt",rtfText请写好Readme.txt文件并存入程序所在文件夹中
Me.Caption="超级记事本:"&"使用说明"
ExitSub
handler:
MsgBox"使用说明文档可能已经被移除,请与作者联系。",vbOKOnly,"错误信息"
EndSub

关于
PrivateSubmnuAbout_Click()
MsgBox"超级记事本Ver1.0版权所有(C)2001土人",vbOKOnly,"关于"
EndSub

设置弹出式菜单(即在编辑框中单击鼠标右键时弹出的动态菜单)
PrivateSubRichTextBox1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=2Then
PopupMenumnuEdit,vbPopupMenuLeftAlign
Else
ExitSub
EndIf
EndSub

防止在切换输入法时字体自变(感谢王必成先生提供此方案)
PrivateSubRichTextBox1_KeyUp(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=vbKeySpaceThen
RichTextBox1.SelFontName=CommonDialog1.FontName
EndIf
EndSub

至此,我们的记事本可以编译使用了。点击菜单“文件”-“生成XXX.EXE”,回到桌面运行我们的记事本看看,是不是颇有成就感?
当然,这样的记事本还比较粗糙,我们还需要做些工作,请看下一章。


第二章美化程序界面

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

一.工具栏
(一)制作工具栏
单击“工程”-“部件”,选中MicrosoftWindowsCommonControl6.0并确定。这时,我们要用到的控件就出现在左边的工具栏上了。
要做工具栏,首先需要一个叫ImageList的控件来装载图像。在程序界面上添加它,然后右键单击此控件,左键单击“属性”,弹出“属性页”对话框的“图像”,再单击“插入图片”就可以一次性装载图片了(如不满意,以后还可以添加)。图片可在C:\MicrosoftVisualStudio\Common\Graphics\Bitmaps\TlBr_W95下选择(这里假设你的VB安装在C盘下)。注意了:在插入图片时给每一张图片注明关键字,以便在引用图片时不至于混乱。如插入“新建”的图片,我们在“关键字”栏注明“New”。
图片有了,接下来在程序界面添加工具栏(ToolBar)。添加后工具栏就出现在菜单下面,右键单击它,选择“属性”,在弹出的“属性页”对话框中的“通用”项作些设置,主要如下两项:
1.“图像列表”:选择ImageList1
2.“样式”:根据喜爱选择1-trbStandard或者2-trbFlat
继续点击“属性页”的“按钮”选项,插入若干按钮。按钮有多种样式,请根据需要设置。这里请一定注意:每一个与用户操作有关的按钮都必须注明关键字、装载图片,如“新建”按钮,在“关键字”项注明“新建”,在“图像”项键入“New”(即ImageList1中的图片关键字),需要的话还可以在“工具提示文本”项填入适当的提示语。
(二)编写工具栏的按钮代码
工具栏按钮的代码编辑很简单,可以按照下面的格式去编写:
PrivateSubToolBar1_ButtonClick(ByValButtonAsMSComctlLib.Button)
OnErrorResumeNext出错处理
SelectCaseButton.Key按关键字选择
Case"新建"
mnuNew_Click等于菜单项“新建”被单击
Case"打开"等于菜单项“打开”被单击
mnuOpen_Click
......(继续编写其它按钮的代码)
EndSelect
EndSub

完成后试运行一下我们的程序,我们发现,有了工具栏之后,程序变得漂亮多了,只是有一个问题:打开一个较长的文档后,编辑框的下拉滚动条向上的箭头不见了。原因是:工具条占用一定的空间。解决方法:将“设置编辑框的位置和大小”中的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控件编写代码:

PrivateSubTimer1_Timer()
IfStatusBar1.Panels(3).Text<>CStr(Time)Then
StatusBar1.Panels(3).Text=Time
EndIf
EndSub

例三:当编辑框的文本发生变化时让第一个窗格显示:“正在编辑文档:文件名”。
PrivateSubRichTextBox1_Chang()
StatusBar1.Panels(1).Text="正在编辑文档:"&CommonDialog1.FileName
EndSub

辛苦了那么久,我们现在已经拥有一个象模象样的记事本了。这个记事本由于用了RichText控件,理论上它能打开和编辑任意大的文档,使用起来的确比Windows自带的记事本方便得多。当然,还有一些其它的功能需要添加和完善,这就靠你慢慢去完成了。->


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·一个特牛的日期时间判断正则表达式-ASP教程,正则表达式
·Remoting编程知识一-.NET教程,.NET Framework
·从客户端检测到有潜在危险的Request.Form 值-ASP教程,客户端相关
·关于DataRow和DataColumn的一点个人简单理解-.NET教程,数据库应用
·DataTable.Select使用小心得-.NET教程,数据库应用
·在Java中如何模拟多继承-JSP教程,Java技巧及代码
·上海移动数据网综合网管的实现
·在VC中用GDI+绘制角度可变的颜色渐变效果-.NET教程,VB.Net语言
·超漂亮的绿色按扭制做-网页设计,Photoshop
·Java获取Html变量的值-JSP教程,Java技巧及代码
最新文章
·阿里联盟:关于结算时间问题的统一说明_网赚技巧
·谷歌官方组织adsense优化大赛_网赚技巧
·google adsense 2007巡讲大会上海站总结_网赚技巧
·网络只是一个开始:专访91now站长小鱼头_站长访谈
·asp.net应用程序资源访问安全模型_asp.net技巧
·给那些迷惑于做垃圾站的站长们_站长心得
·免费——不是威客网站的杀手锏_站长心得
·圈圈浅谈个人网站发展和赚钱的模式-网站推广的口碑篇_站长心得
·说网解络之web2.0概念诠释(1)_站长心得
·google adsense系列技巧100条_google推广
相关主题
西部数码虚拟主机

友情链接
CNNIC 西部数码
万网 自助建站
虚拟主机 asp空间
域名注册 域名
域名申请 主页空间
论坛空间 网站空间
国际域名 虚拟空间
空间租用 DDOS防火墙
成都主机托管 四川主机托管
主机租用 服务器租用
网站目录 自助建站
虚拟主机 网址大全
软件下载
自助链接
虚拟主机资讯 特价虚拟主机
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论 打印  刷新     关闭