转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
VB5.0下工具条的制作         ★★★★

VB5.0下工具条的制作

作者:闵涛 文章来源:闵涛的学习笔记 点击数:553 更新时间:2009/4/23 14:58:28
  工具条(Toolbar)是Windows环境下应用程序常用的界面元素。把菜单中常用的命令做成按钮安排在工具条中,配上适当的图标符号和文本提示,确实极大地方便了用户。以Microsoft Word7.0 for Windows95的工具条为例,其中的内容和功能非常丰富。Word7.0工具条中不仅包含与文件操作等有关的常规图标按钮,还有设置字体字号等等的组合框(Combobox)。按钮之间可以分组,例如设置段落对齐方式的一组按钮,同组中的按钮每次只允许有一个被按下,按下一个按钮时,同组中其它按钮自动弹起。另外,Word7.0的工具条还有用户裁剪(Customize)功能。用户在工具条上双击鼠标时,工具条弹出一个裁剪对话框,用户可以隐藏、显示以及重新排列工具条中的按钮。如果在我们自己开发的软件界面中加上这样的工具条,我们的软件就可以与商业软件相媲美了。
  在诸多Windows应用程序开发平台中,Microsoft Visual Basic以易学易用、功能强大的优点特出独立,成为开发Windows应用程序的首选平台之一。在VB4.0及以前的版本中,开发象Word7.0中的工具条还是颇费辛苦的。一般思路是在窗体(Form)中安放一个图片框(PictureBox)作为容器(Container),再往其中加入图象(Image)控件,用图象控件载入图标来模拟按钮。对多个按钮的控制要分别完成,管理较为复杂。在VB5.0中,系统提供了一个专门的工具条控件Toolbar。用Toolbar来实现类似Word7.0中的工具条非常方便。

工具条控件Toolbar简介

  1.在工具箱中加入Toolbar
  工具条控件Toolbar不在VB5.0工具箱(Toolbox)的常规标准控件之列,因此在首次安装VB5.0后,工具箱中并没有Toolbar。在工具箱中加入Toolbar要通过Project菜单中的Components命令,该命令弹出一个选择安装组件的窗口。在Components窗口的Controls组中找到“Microsoft Windows CommonControls5.0”项,单击标记该项,然后单击“确定”按钮,Toolbar和另外一些控件就加入工具箱了。

  2.Toolbar的功能

  Toolbar中可以加入按钮,每个按钮都可以载入自己的图象、设置标题(Caption)。还可以为每个按钮设置简短的提示字符串,程序运行时,当鼠标指针移到按钮上时,在指针附近会自动浮出提示字符串。在程序运行时,可以随时增加或删除按钮。Toolbar为其中的按钮提供了分组功能,用户只需简单地设置一个按钮的Style属性就能实现按钮之间的分组。Toolbar同时还是一个容器类控件,可以在其中加入组合框等其它控件。Toolbar的Allow C omize属性允许用户在程序运行时双击工具条对其中的内容进行裁剪。根据这些功能,用户就可以轻而易举地在自己开发的应用程序中加入类似Word7.0风格的工具条了。

Toolbar的制作
  Toolbar的制作包括以下步骤:在窗体中加入Toolbar控件;在Toolbar中加入按钮;为按钮载入图象并设置其它属性。
  1.在窗体中加入Toolbar控件

  双击工具箱中的Toolbar,Toolbar就自动加入窗体并放置在窗体客户区的顶端。如果要把Toolbar放置在其它位置,可以在属性窗口中改变Toolbar的Align属性。Toolbar的Align属性中可供选择的有5个值:

  0-vbAlignNone,不对齐
  1-vbAlignTop,对齐窗口客户区顶端
  2-vbAlignBottom,对齐窗口客户区底端
  3-vbAlignLeft,对齐窗口客户区左边
  4-vbAlignRight,对齐窗口客户区右边

  2.在Toolbar中加入按钮

  用鼠标右键单击Toolbar,会弹出Toolbar的属性菜单。单击菜单的最后一项“Properties”,会弹出Toolbar的属性页(PropertyPages)窗口。在属性页窗口中可以设置控件的一些非常规属性。

  在Toolbar属性页中选Buttons组,其中的“InsertButton”和“RemoveButton”两个按钮分别用于在Toolbar中加入和删除按钮。Toolbar控件的所有按钮构成一个按钮集合(Collection),名为Buttons。在Toolbar中加入和删除按钮实际上是对Toolbar的Buttons集合进行加入和删除元素操作。对于Toolbar中各个按钮的访问,也是通过Buttons集合进行的。用“InsertButton”加入按钮后,可以在Toolbar属性页Buttons中设置新加入的按钮的属性。这些属性包括:索引(Index)、标题(Caption)、描述信息(Description)、关键字(Key)、初态(Value)、模式(Style)、宽度(Width)、提示信息(ToolTipText)等。

  (1)Index和Key
  Toolbar中的按钮是通过集合Buttons来访问的。集合中每个按钮都有唯一与之对应的标识,Index和Key就是与按钮一一对应的标识。Index是整数类型的,类似于数组的下标。Key是字符串类型的类似于对象的名字,但它与名字不同的是引用时必须加双引号,并且它中间可以包含任意的字符。按钮的Key属性是可选的,可以为空。访问按钮时可以引用Index和Key二者之一。例如,在名为Toolbar1的Toolbar中加入按钮,其Index为1,Key设置为“1stbutton”。在程序中可以通过以下两种方式之一访问该按钮:

Toolbar1.Buttons(1)

Toolbar1.Buttons(“1stbutton”)
  (2)Caption
  Caption属性对应按钮上显示的文本,与普通按钮的Caption属性相同。
  (3)ToolTipText和Description
  ToolTipText和Description都是字符串类型,用于设置按钮的提示文本和描述信息。设置了ToolTipText后,程序启动运行后,当用户把鼠标指针移到按钮上时,ToolTipText对应的文本字符串自动浮出。该属性用于在程序运行时提示用户按钮的功能。程序启动运行后,用户双击工具条对其中的内容进行裁剪时,对话窗中每个按钮旁边显示的是按钮的Description属性。

  (4)Style
  Style属性设置按钮的模式,不同模式的按钮具有不同的风格和作用。可供选择的Style属性有以下5种:

  0-tbrDefault,一般按钮
  1-tbrCheck,开关按钮
  2-tbrButtonGroup,编组按钮
  3-tbrSeparator,分隔按钮
  4-tbrPlaceholder,占位按钮

  一般按钮与普通的按钮控件在操作风格上基本相同。开关按钮具有二值状态:按下和放开。编组按钮用于实现按钮之间的分组,相邻的编组按钮都属于同一组。编组按钮同时也是开关按钮,同组内至多只允许一个按钮处于按下状态。分隔按钮在Toolbar中并不显示,而是把它左右的按钮分隔开来。Toolbar中的按钮本来是紧挨着排列的,使用分隔按钮可以让同类或同组的按钮并列排放而与邻近的组分开。占位按钮在Toolbar中也不显示,它仅仅起到占位的作用。在占位按钮处可以安放其它控件诸如组合框之类。占位按钮是唯一可以设置宽度(Width)属性的按钮。

  (5)Value
  Value属性设置按钮的按下和放开状态。该属性一般用于设置开关按钮和编组按钮的初态。

  (6)Width
  在属性页的Buttons组中可以看到,Width属性后有一个Placeholder的附加说明。只有当按钮的Style设置为Placeholder时,该属性才能被设置,其它情况下该属性被禁止。

  3.为按钮载入图象

  工具条按钮的一个突出特点是包含形象的图象,用以提示按钮的功能。在Toolbar中加入所需的按钮后,就可以为每个按钮载入图象了。Toolbar按钮与普通的Image和PictureBox不同,它们没有Picture属性。要给Toolbar按钮载入图象需要借助于另一个控件ImageList。

  ImageList是在“Microsoft Windows CommonControls5.0”中与Toolbar一并提供的控件。该控件不单独使用,而是专门为其它控件提供图象库。Toolbar中按钮的图象就要从ImageList的图象库中提取。

  为Toolbar按钮载入图象的方法是:首先在Toolbar所在的窗体中加入ImageList控件,其次在ImageList中加入图象,然后建立Toolbar和ImageList的关联关系,最后从ImageList的图象库中选择图象载入Toolbar的按钮。

  (1)在ImageList中加入图象
  与Toolbar控件类似,鼠标右键单击窗体中的ImageList控件时,会弹出其属性菜单。选菜单的最后一项“Properties”会弹出ImageList的属性页窗口。在属性页窗口中选Images组,在这里可以为ImageList的图象库中加入图象,并为每个图象设置关键字属性。

  单击“InsertPicture”按钮可以在图象库中插入图片。系统弹出一个选择图片(Selectpicture)的窗口,从该窗口中可以选定一个或多个图象文件。单击“打开”按钮,选定的图片就插入图象库了。ImageList允许插入位图文件(.bmp)和图标(.ico)文件。

  (2)建立Toolbar和ImageList的关联关系
  打开Toolbar的属性页窗口,在General组中有一个标题为ImageList的下拉式列表框。单击打开该列表框,其中列出了本窗体中所有的ImageList控件。单击选定一个ImageList控件,Toolbar就与该ImageList建立了关联关系。

  (3)为Toolbar按钮载入图象
  建立好Toolbar和ImageList的关联关系后,Toolbar属性页窗口的Buttons组中Image项就从禁止状态变为有效了。在Image项的文本框中输入ImageList图象库里某个图片的Index值,该图片就被载入该按钮了。

Toolbar的常用属性和方法

  设置好Toolbar之后,有必要对其常用的属性和方法作一了解,以便在程序中对它进行控制。Toolbar与其它控件类似的常用属性在此不作赘述。
  1.常用属性

  (1)ImageList
  该属性设置与Toolbar相关联的ImageList对象。

  (2)AllowCustomize
  该属性设置是否允许用户在程序运行时对Toolbar的内容进行裁剪。该属性的缺省值是True。

  (3)ShowTips
  该属性决定程序运行过程中,当鼠标指针移到Toolbar按钮上时,是否浮出该按钮的ToolTipText文本提示。该属性的缺省值是True。

  (4)ToolTipText
  该属性设置Toolbar自己的文本提示字符串。Toolbar的每个按钮可以有自己的ToolTipText,同时Toolbar本身也可以有自己的ToolTipText。程序运行过程中,当鼠标指针移到Toolbar按钮上时,如果Toolbar和按钮都设置了ToolTipText,则两个提示字符串都会浮出。

  2.常用方法

  对Toolbar的控制主要是针对其中的按钮,Toolbar中的按钮是作为一个名为Buttons的集合对象供程序访问的。Buttons的常用方法包括增加一个按钮(Add)、删除一个按钮(Remove)和删除所有按钮(Clear)。

  (1)Add
  Add方法的语法为:

  Toolbar控件名.Buttons.Add(index,key,caption,style,image)

  整型参数index指定新增按钮的索引值,该索引值也决定了按钮在Toolbar中的位置。Index参数可以省略(注意,省略index参数时其后的逗号要照写),缺省情况下新增按钮加到Buttons集合的最后。

  字符串型参数key指定新增按钮的关键字,该参数可以省略。
  字符串型参数caption指定新增按钮的标题,该参数可以省略。

  整型参数style指定新增按钮的Style属性,其合法取值有5个,参见前面Style属性的介绍。该参数可以省略,缺省时自动取0(tbrDefault)。

  参数image指定给新增按钮载入的图象,图象必须是与该Toolbar相关联的ImageList控件图象库中的一个。Image参数可以是一个整数,对应ImageList图象库中某个图片的Index值,也可以是一个字符串,对应图片的关键字Key。

  (2)Remove
  Remove方法的语法为:
  Toolbar控件名.Buttons.Remove按钮的Index值
  或
  Toolbar控件名.Buttons.Remove按钮的Key字符串

  (3)Clear
  Clear方法的语法为:
  Toolbar控件名.Buttons.Clear

在程序中生成Toolbar
  以上从设计阶段(designtime)和程序角度介绍了Toolbar的生成和使用。下面我们结合实例来看看如何为自己的应用程序添加功能强大、方便用户的工具条。
  下面的例子中,窗口工具条内有两个分别代表打开文件和文件存盘的按钮,另外还有一个设置窗口客户区颜色的组合框。为免去烦琐地介绍工具条的设置过程,在窗体制作时仅仅加入一个Toolbar控件和一个ImageList控件,另外在Toolbar中加入一个组合框ComboBox。其它所有与Toolbar的设置和控制有关的操作都在程序代码中实现,包括为ImageList1加入图片库、建立Toolbar1和ImageList1的关联关系、在Toolbar1中加入按钮并为每个按钮设置属性、对Combo1进行初始化等等。下面给出窗体Form1的程序代码。

PrivateSubForm_Load()
’CreateobjectvariablefortheImageList.
  DimimgXAsListImage

’LoadpicturesintotheImageListcontrol.
  SetimgX=ImageList1.ListImages._
  Add(,”open”,LoadPicture(“Graphics\bitmaps\tlbr_w95\open.bmp”))
  SetimgX=ImageList1.ListImages._
  Add(,”save”,LoadPicture(“Graphics\bitmaps\tlbr_w95\save.bmp”))
  Toolbar1.ImageList=ImageList1

’CreateobjectvariablefortheToolbar.
  DimbtnXAsButton

’AddbuttonobjectstoButtonscollectionusingthe
’Addmethod.Aftercreatingeachbutton,setboth
’DescriptionandToolTipTextproperties.
  Toolbar1.Buttons.Add,,,tbrSeparator
  SetbtnX=Toolbar1.Buttons.Add(,“open”,,tbrDefault,“open”)
  btnX.ToolTipText=”OpenFile”
  btnX.Description=btnX.ToolTipText
  SetbtnX=Toolbar1.Buttons.Add(,“save”,,tbrDefault,“save”)
  btnX.ToolTipText=”SaveFile”

  btnX.Description=btnX.ToolTipText
  SetbtnX=Toolbar1.Buttons.Add(,,,tbrSeparator)

’ThenextbuttonhasthePlaceholderstyle.A
’ComboBoxcontrolwillbeplacedontopofthisbutton.
  SetbtnX=Toolbar1.Buttons.Add(,“combo1”,,tbrPlaceholder)
  btnX.Width=1500’Placeholderwidthtoaccommodateacombobox.

  Show’ShowformtocontinueconfiguringComboBox.

’ConfigureComboBoxcontroltobeatsamelocationasthe
’ButtonobjectwiththePlaceHolderstyle(key=“combo1”).
WithCombo1
  .Width=Toolbar1.Buttons(“combo1”).Width
  .Top=Toolbar1.Buttons(”combo1”).Top
  .Left=Toolbar1.Buttons(“combo1”).Left
  .AddItem“Black”’Addcolorsfortext.
  .AddItem“Blue”
  .AddItem“Red”
  .ListIndex=0
 EndWith
EndSub

PrivateSubForm_Resize()
’ConfigureComboBoxcontrol.

 WithCombo1
  .Width=Toolbar1.Buttons(“combo1”).Width
  .Top=Toolbar1.Buttons(“combo1”).Top
  .Left=Toolbar1.Buttons(“combo1”).Left
 EndWith
EndSub

PrivateSubtoolbar1_ButtonClick(ByValButtonAsButton)
’UsetheKeypropertywiththeSelectCasestatementtospecify
’anaction.
  SelectCaseButton.Key
   CaseIs=“open”’Openfile.
    MsgBox“Addcodetoopenfilehere!”
   CaseIs=“save”’Savefile.
    MsgBox“Addcodetosavefilehere!”
  EndSelect
EndSub

PrivateSubCombo1_Click()
’ChangebackcolorofformusingtheComboBox.
  SelectCaseCombo1.ListIndex
   Case0
    Form1.BackColor=vbBlack
   Case1
    Form1.BackColor=vbBlue
   Case2
    Form1.BackColor=vbRed
  EndSelect
EndSub


[VB.NET程序]GSM短信模块库函数,可以用VB,VC,调用简单实用  [办公软件]PowerPoint做交互课件之弃用VBA
[办公软件]VBA获取U盘、主板、CPU序列号和网卡MAC地址  [办公软件]VBA设置文件属性及加密源代码示例
[办公软件]VBA中初始化ADO连接的几种方法  [网络安全]“VB破坏者变种N”病毒摘要
[Web开发]ASP.NET上传文件到数据库VB版  [办公软件]在Excel中利用VBA实现多表单元格数据的读取与赋值…
[办公软件]使用Vba读取已关闭的Excel工作薄数据到当前工作表…  [办公软件]Excel编程基础之VBA文件操作详解
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台