• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
用VB跟我学做记事本(很简单哟)
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
用VB跟我学做记事本(很简单哟)
软件发布 用VB跟我学做记事本(很简单哟)
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 编程技术 >> VB & VB.NET教程 >> 用VB跟我学做记事本(很简单哟)

用VB跟我学做记事本(很简单哟)

添加时间: 2006-2-16 3:50:33  作者: VB教程  阅读次数:615   来源: http://www.d9soft.com

       
  通过阅读、研究本文并按本文所述进行尝试,初学者将学到很多东西,如怎样使用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中的图片关键字),需要的话还可以在“工具提示文本”项填入适当的提示语。
  (二)编写工具栏的按钮代码
  工具栏按钮的代码编辑很简单,可以按照下面的格式去编写:
  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
  
  辛苦了那么久,我们现在已经拥有一个象模象样的记事本了。这个记事本由于用了RichText控件,理论上它能打开和编辑任意大的文档,使用起来的确比Windows自带的记事本方便得多。当然,还有一些其它的功能需要添加和完善,这就靠你慢慢去完成了。

 

上下文章:

 

上一篇文章: VB中利用WinRAR进行文件压缩 下一篇文章: VB编程计算农历的计算方法

相关文章:

  • 磁盘空间整理原来也可以这么简单
  • 简单就是美 开源PDF阅读器Sumatra
  • Photoshop人物头发加高光简单技巧
  • RegSeeker注册表清理简单易用体验
  • 用傲盾 IP跟踪,IP测速就这么简单

相关软件:

  • 简单WEB进销存管理系统 2.1
  • 简单影音 2008 Build 09.25
  • 速用电子记事本软件 1.0
  • 东日-个人记事本 PIMOneOne V4.2
  • 简单百宝箱 1.3
  • 简单淘 1.01b

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • VB.net2008创建发送与接收端程序
  • C++程序设计之四书五经
  • VB入门教程之四
  • VB入门教程之三
  • VB入门教程之二
  • VB入门教程之一
  • 压缩被DBGIRD控件正在使用的MDB数...
  • 谈谈VB的数据库编程方式
  • 在VB中用DAO实现数据库编程
  • Data控件使用有密码的Access数据库

VB & VB.NET教程阅读排行

  • VB入门教程之一
  • VB入门教程之二
  • VB入门教程之三
  • VB入门教程之四
  • 如何编写高质量的VB代码
  • 初学者必知:VB10个小编程
  • VB访问SQL Server数据库技术全揭密
  • 怎样在VB中控制Word?
  • 用DAO或ADO正确访问Access 2000
  • VB中列表框的使用技巧说明

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • VC++之List Box/Check List Box控...
  • 第二章 PowerBuilder 入门之创建新...
  • VC++ List Ctrl控件
  • 第一章 什么是PowerBuilder
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有