现在的位置: 首页 > 综合 > 正文

vb6,个人记事本,程序界面设计

2013年10月21日 ⁄ 综合 ⁄ 共 5415字 ⁄ 字号 评论关闭

程序界面设计

本节通过一个“个人记事本 ”程序,来学习VB的菜单、对话框和工具栏标准的使用。程序运行界面及设计视图见图9-01,9-02。


图9-01 “个人记事本 ”程序


图9-02 “个人记事本”程序设计视图

★要掌握的知识点及操作

  • 菜单的设置与使用
  • 对话框的设置与使用(包括消息对话框MsgBox()、输入框InputBox()和公共对话框)
  • 工具栏(Toolbar控件)的设置与使用
  • 图像列表(ImagesList)控件的设置与使用
  • 增强型文本框(RichTextBox控件)的使用

★程序设计

本程序包括1个菜单、1个增强型文本框(RichTextBox)控件、1个公共对话框(Common Dialog)控件、1个工具栏(Toolbar)控件和1个图像列表(ImagesList)控件。见图9-02。

一、在窗体中设置菜单

菜单分两种基本类型:下拉式菜单和弹出式菜单,都是通过菜单编辑器进行设置的。单击工具菜单编辑器,可打开如图9-04所示的菜单编辑器。


图9-04 菜单编辑器
菜单项名称(Name属性),程序代码中通过该名称来引用该菜单项 菜单项控件数组索引(Index属性) 菜单项是否可见(Visible属性) 菜单项是否响应用户动作(Enabled属性) 菜单项是否使用√复选标记来表明菜单项被选中(Checked属性) 菜单项命令的快捷键方式 提高/降低菜单项的层次等级 调整菜单项的顺序 定位菜单项 在当前菜单项前插入一个空白菜单项 删除当前菜单项 在菜单项标题后加“&”和字母,则可通过快捷键 Alt+字母 打开此菜单 分隔符,给菜单分组 一级菜单项 二级菜单项,可通过←→提高或降低其层次等级 菜单项快捷键

设置本例的菜单,见图9-05及表。


图9-05 本例的菜单

菜单项标题
菜单项名称
快捷键方式
菜单项功能
备注
文件(&F) File   一级菜单(菜单栏标题)  
新建 New Ctrl+N 创建一新文件  
打开 Open Ctrl+O 打开一文件  
保存 Save Ctrl+S 保存文件  
- sp1   分隔符,给菜单分组  
退出 Exit   退出程序  
编辑(&E) Edit   一级菜单(菜单栏标题)  
复制 Copy   拷贝文本内容  
剪切 Cut   剪切文本内容  
粘贴 Paste   粘贴文本内容  
- sp2   分隔符,给菜单分组  
全选 All   选定所有内容  
- sp3   分隔符,给菜单分组  
查找 Find   查找指定内容  
查找下一个 FindOn   继续查找下一个指定内容  
格式(&O) Format   一级菜单(菜单栏标题)  
颜色 Color   设置文本颜色  
字体 Font   设置文本字休  
帮助(&H) Help   一级菜单(菜单栏标题)  
显示/隐藏工具栏 Show1   显示/隐藏程序工具栏 选定“复选”
关于 About   显示程序版本信息  
表9-01 各菜单项属性设置

每项菜单项可以看作是一个控件,菜单项名称即是控件名称,在程序代码中可通过名称来调用该菜单项,而单击该菜单项将激活菜单项的Click事件。

二、添加增强型文本框(RichTextBox)控件 — Rtb

RichTextBox控件是增强型文本框,具有标准TextBox控件的所有功能,还支持直接打开和保存文本文件等。它是一个附加的控件,可通过在“部件”列表框中选择“Microsoft Rich TextBox Control 6.0”选项,则控件工具箱中就多了一个RichTextBox控件。再将其添加到窗体中。

三、添加公共对话框(Common Dialog)控件 — ComDia

Common Dialog控件是一个公共对话框,可以利用公共对话框在窗体上创建6种基于Windows的标准对话框:打开(Open)、另存为(Save)、颜色(Color)、字体(Font)、打印机(Printer)和帮助(Help)对话框。Common Dialog控件是一个附加的控件,可通过在“部件”列表框中选择“Microsoft Commom Dialog Control”选项,则控件工具箱中就多了一个Common Dialog控件。再双击将其添加到窗体中。

要设置公共对话框的属性,在窗体中选择Common Dialog控件,单击右键打开快捷菜单列表选择“属性”,打开如图9-06所示的公共对话框属性页进行设置。


图9-06 公共对话框属性页

要调用某种标准对话框,可通过公共对话框控件的Show方法来调用。如要打开“打开”对话框,可通过代码ComDia.ShowOpen来调用。

四、工具栏(Toolbar)控件和图像列表(ImagesList)控件 — Toolbar1,ImageList1

Toolbar控件是图形化的命令按钮集合,用于在窗体中创建工具栏;而ImagesList控件用于保存和管理工具栏中工具按钮上的图片。Toolbar控件和ImagesList控件也是附加的控件,可通过在“部件”列表框中选择“Microsoft Windows Commom Control”选项,则控件工具箱中就多了一组控件,其中就有Toolbar控件和ImagesList控件。再双单将它们分别添加到窗体中。

要设置工具栏和工具按钮的图像,在窗体中分别选择Toolbar对象和ImagesList对象,单击右键打开快捷菜单列表选择“属性”,打开如图9-07、图9-08所示的工具栏属性页进行设置。


图9-07 工具栏属性页


图9-08 图像列表属性页

程序代码如下:

Option Explicit
Dim Findstr As String '声明查找变量
Dim FileTypestr, FiTypestr As String '声明文件类型变量
Dim FileName As String '声明文件名称变量

'当单击菜单项命令“关于”时,弹了出消息框
Private Sub About_Click()
 '关于本程序的信息
 MsgBox "个人记事本 1.0 ", vbOKOnly, "关于"
End Sub

Private Sub All_Click()
 Rtb.SelStart = 0 '设置文本的起始点
 Rtb.SelLength = Len(Rtb.Text) '根据文本的全部字符数长度设置所选择的字符数
End Sub

Private Sub Copy_Click()
 Clipboard.Clear '清除剪贴板(Clipboard)的内容
 Clipboard.SetText Rtb.SelText '将所选择的文本放到剪贴板上
End Sub

Private Sub Cut_Click()
 Clipboard.Clear '清除剪贴板的内容
 Clipboard.SetText Rtb.SelText '将所选择的文本放到剪贴板上
 Rtb.SelText = "" '清除文本中的内容
End Sub

Private Sub Exit_Click()
 End
End Sub

Private Sub Find_Click()
 '用输入框来输入查询条件,并将输入内容赋值给查找变量Findstr
 Findstr = InputBox("请输入要查找的字、词:", "查找内容", Findstr)
 Rtb.Find Findstr '根据给定的字符串,使用方法Find来搜索文本
End Sub

Private Sub FindOn_Click()
 Rtb.SelStart = Rtb.SelStart + Rtb.SelLength + 1 '设置下一个搜索的开始为置
 '根据给定的字符串,搜索文本,并从指定的开始位置搜索的文本的末尾
 Rtb.Find Findstr, , Len(Rtb)
End Sub

Private Sub Font_Click()
 ComDia.Flags = 1 '打开标准对话框ComDia的Flags属性值
 ComDia.ShowFont '打开标准字体对话框
 Rtb.SelFontName = ComDia.FontName '根据在标准字体对话框中所选确定字体(字体类型、大小、粗斜)
 Rtb.SelFontSize = ComDia.FontSize
 Rtb.SelBold = ComDia.FontBold
 Rtb.SelItalic = ComDia.FontItalic
End Sub

Private Sub Color_Click()
 ComDia.ShowColor '打开标准颜色对话框
 Rtb.SelColor = ComDia.Color '根据在标准颜色对话框中所选确定颜色
End Sub

Private Sub New_Click()
 Rtb.Text = "" '清空文本框
 FileName = "新建个人记事本" '设置窗体的标题
 Me.Caption = FileName
End Sub

Private Sub Open_Click()
 '设置对话框的显示文件类型
 ComDia.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
 ComDia.ShowOpen '显示 ComDia控件的"打开"对话框
 Rtb.Text = "" '清空文本框
 FileName = ComDia.FileName '将选择文件的文件名赋值给文件名称变量FileName
 Rtb.LoadFile FileName '加载一个文件名为FileName的文件
 Me.Caption = "个人记事本:" & FileName '设置窗体的标题
End Sub

Private Sub Paste_Click()
 Rtb.SelText = Clipboard.GetText '将剪贴板上的内容粘贴到文本框中
End Sub

Private Sub Save_Click()
 '设置对话框的保存文件类型
 ComDia.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
 ComDia.ShowSave '显示 ComDia控件的"保存"对话框
 FileTypestr = ComDia.FileTitle '返回对话框保存文件的名称,并赋值给文件类型变量FileTypestr
 FiTypestr = LCase(Right(FileTypestr, 3)) '提取文件类型
 FileName = ComDia.FileName '返回保存的文件名

 '保存为纯文本文档
 If FiTypestr = "txt" Then
  Rtb.SaveFile FileName, rtfText
 End If
 '保存为RTF文档,RTF文档能保存字体等格式
 If FiTypestr = "rtf" Then
  Rtb.SaveFile FileName, rtfRTF
 End If

  '保存为所有文件
 If FiTypestr = "*.*" Then
  Rtb.SaveFile FileName
 End If

 Me.Caption = "个人记事本:" & FileName '设置窗体的标题
End Sub

'点击鼠标右键出现弹出菜单
Private Sub rtb_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
 If Button = 2 Then
  PopupMenu Edit '把编辑菜单显示为弹出菜单
 Else
  Exit Sub
 End If
End Sub

'当单击菜单命令“显示/隐藏工具栏”时,首先判断当前命令是否是选中状态
'如果是选中状态,则取消选中状态,隐藏工具栏;否则相反

Private Sub Show1_Click()
 If Show1.Checked = True Then
  Show1.Checked = False '将菜单命令Show1的Checked属性设为False,取消选中
  Toolbar1.Visible = False '将工具栏Toolbar1的Visible属性设为False,隐藏工具栏
 Else
  Show1.Checked = True
  Toolbar1.Visible = True
 End If
End Sub

'当工具栏上的按钮被按下时,执行Toolbar1_ButtonClick事件过程
'该过程判断哪一个工具按钮被按下,调用相应的事件过程来执行命令
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
 Select Case Button.Key
  Case "t1"
   New_Click '调用菜单命令New的Click()过程
  Case "t2"
   Open_Click
  Case "t3"
   Save_Click
  Case "t4"
   Copy_Click
  Case "t5"
   Cut_Click
  Case "t6"
   Paste_Click
 End Select
End Sub

 

★小结

菜单

下拉式菜单是窗口顶部显示的菜单,弹出式菜单指用户在特定位置单击鼠标右键是弹出快捷菜单。不论是下拉式菜单还是弹出式菜单,都是在菜单编辑器进行设置的。不同之处在于弹出式菜单项常被设置为隐藏(即 Visible属性为 False)。在单击右键时通过PopupMenu方法显示出来(此方法对可见的下拉式菜单同样有效)。语句如下:
[窗体名.]PopupMenu 菜单名 [,Flags[,x[,y[,boldcommand]]]]

除分隔符_菜单项外,所有的菜单项都可以接受Click事件。

对话框

VB中对话框主要有两种,一种是公共对话框,一种是预定义对话框,如图9-09所示。公共对话框指基于Windows的一组标准对话框,要使用此公共对话框,需要在窗体中插入Common Dialog控件,通过Show方法调用对话框。而预定义对话框又分输入框(InputBox函数)和信息对话框(MsgBox函数),其格式为:

变量=InputBox(信息内容[,对话框标题][,文本框缺省值])InputBox 信息内容[,对话框标题][,文本框缺省值]

变量=MsgBox (信息内容[,对话框类型[,对话框标题]])MsgBox 信息内容[,对话框类型[,对话框标题]]

输入框信息对话框
图9-09 输入框(InputBox)和信息对话框(MsgBox)

【上篇】
【下篇】

抱歉!评论已关闭.