您现在的位置:首页 >> 网络教学 >> 界面设计 >> 内容

工具栏和状态栏及其相关实例

时间:2009-6-19 9:41:13 点击:4228

  工具栏和状态栏

一、工具栏

工具栏是Windows界面中的特色组成。工具栏提供了最常用的菜单命令的快速访问方式,集成了常用的功能和工具,可灵活定位,一目了然,操作方便。

创建工具栏有两种方法,其一是用手工方式设计工具栏,另外VB提供了工具栏(Toolbar)控件和图像列表(Imagelist)控件,可以使用这些控件快速设计工具栏。

(一)手工设计工具栏

在窗体或MDI窗体上手工创建工具栏,通常用图片(PictureBox)控件对象创建工具栏,用来放置各种工具按钮,用命令按钮(CommandButton)和图像(Image)控件作为工具栏的按钮,然后编写相应的单击事件过程。

()使用工具栏控件制作工具栏

Toolbar控件不是标准控件,需将Toolbar控件调入工具箱。方法如下:执行“工程”菜单中的“部件”命令,打开“部件”对话框,如图8.14所示,在“控件”选项卡中选中“Microsoft Windows Common Control 6.0选项,单击“确定”即能将工具栏(Toolbar)控件、图像列表(Imagelist)控件和状态栏(Status)控件添加到工具箱中,见图8.15

8.14  “部件”对话框

    8.15 工具箱中被添加的三个控件

工具栏有文字按钮工具栏和图形按钮工具栏两种,下面以例子来说明文字按钮工具栏的制作。

[8-4]要求为[8-1]制作一个可用于设置字的颜色文字按钮工具栏。程序运行界面如图8.16所示:

8.16 程序主界面

具体的制作文字按钮的步骤如下:

1.在窗体上添加Toolbar控件。可以双击工具箱中的工具栏控件,建立一个名为Toolbar1的工具栏,该工具栏会自动显示在窗体的顶部。如果想改变工具栏放置的位置,可以通过改变工具栏的Align属性来实现。工具栏的Align属性值及其含义如表8.8所示。这里将Toolbar1Align属性设置为1,工具栏显示在窗体的顶部,宽度和窗体的宽度相同。

8.8 工具栏的Align属性值及其含义

含义

0-vbAlignNone

表示在设计时可以自行设定工具栏的大小和位置

1-vbAlignTop

工具栏显示在窗体的顶部,宽度和窗体的宽度相同

2-vbAlignBotton

工具栏显示在窗体的底部,宽度和窗体的宽度相同

3-vbAlignLeft

工具栏和窗体左边对齐,宽度和窗体的宽度相同

4-vbAlignRight

工具栏和窗体右边对齐,宽度和窗体的宽度相同

2.设置工具栏的属性。右击Toolbar1,弹出快捷菜单,执行“属性”命令。出现如图8.17所示的对话框,利用此对话框来设计工具栏的一些常规属性。

8.17 “属性页”窗口

该例在“属性页”对话框中选择“按钮”标签,然后使用“插入按钮”插入一个按钮,在“标题”后输入“红色”,然后在“关键字”后输入“red”,接着可在“工具提示文本”后输入“用于设置红色前景色”,最后在“样式”的下拉列表框中选择默认的按钮样式。重复以上步骤,建立“绿色”和“黄色”工具按钮。按钮选项卡的属性设置可参照表8.9

8.9  按钮属性的设置

按钮属性

功能

索引

按钮的编号,该项不可缺少。单击文本框右侧的箭头按钮,可以依次将按钮集合中的某个按钮作为当前按钮

关键字

该属性是可选项,是按钮的名称,在编写代码时使用关键字表示按钮更为直观

标题

用来设置按钮的显示标题

工具提示文本

设置按钮的提示信息。如果在该项后面输入了提示信息,那么程序运行时,将鼠标指针移动到按钮上时,就会显示上述用于提示的文字信息

描述

用于设置有关当前按钮的描述信息

样式列表框

用来设置按钮样式,值为整型,不同值表示不同的风格的按钮。详见表7-3

用于设置按钮的两个工作状态,即是按下和释放状态。0-tbrunpressed表示释放状态,1-tbrunpressed表示按下状态。

宽度

用于设置按钮的宽度

图像

在此输入图像的编号或名称,可以为按钮加载指定图像

插入按钮

可以在工具栏中添加一个新按钮

删除按钮

可以把当前按钮删除

各种按钮的风格设置及其效果可参照表8.10和图8.18

8.10  按钮的样式的取值及含义

按钮

含义

0-tbrDefault

普通按钮

按钮按下释放后恢复原状

1-tbrCheck

开关按钮

按钮按下释放后保持按下状态

2-tbrButtonGroup

编组按钮

同一组的编组按钮相邻排列,同一组按钮只允许一个按钮被按下并有效

3-tbrSepatator

分隔按钮

创建一个宽度为8个像素的按钮,用来把同类或同组的按钮并列排放而与邻近的组分开

4-tbrPlaceholder

占位按钮

在工具栏中显示,用来安放其它按钮

5-tbrDropdown

菜单按钮

能弹出一个下拉菜单

8.18  不同样式的按钮效果

3.编写代码。以上我们完成了工具栏的建立,下面给工具栏的单击事件过程添加代码,代码如下:

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Index  ‘单击工具栏上某个按钮,Button.Index可获取该按钮的编号

   Case 1

   Text1.ForeColor = &HFF&

  Case 2

   Text1.ForeColor = &HFF00&

   Case 3

   Text1.ForeColor = 65535

End Select

End Sub

以上完成了文字按钮工具栏的制作。

下面通过例子来讲解图形工具栏的制作。

[8-5]基于[8-1]制作一个可用于设置字号的图形按钮工具栏。程序界面如图8.19所示:

8.19  程序主界面

1.设计图形按钮

想要制作图形按钮,须事先准备好图片,然后利用ImageList控件将按钮图片加入,再将Toolbar控件的“ImageList”项指定为ImageList控件,这样就可以为为每一个按钮设计一个图片了。

们将上图, 中的“打开”和“粗体”按钮加上图片,具体步骤如下所示:

1)准备图片,工具栏按钮上可以加载BMP文件、GIFJPEG图像文件以及图标文件。这些图片可以使用画图、photoshop等图形软件制作,也可以到本机或网上搜索符合要求的图片。

2)在窗体上添加ImageList控件。该控件也是属于Microsoft Windows Common  Control6.0部件,添加该部件后,该控件即在工具箱中。双击该控件即可以在窗体上建立一个ImageList1控件。

3)设置ImageList控件属性。右击ImageList控件,打开快捷菜单,执行“属性”命令,打开如图8.20所示的对话框,然后单击属性页的“图像”标签,再单击“插入图片”按钮,可以将第一步准备的图片加载进来,给图片设置关键字内容。使用同样方法,将另外两张图片也加入图像列表控件,并依次命名,在“索引”文本框中给每个图像输入一个索引号。那些图将显示在ImageList控件的图像栏中。单击“删除图片”按钮,可将选定的图像删除。

8.20 “属性页”对话框 

4)设置Toolbar控件属性。

1)设置工具栏的Align属性值为0,这时可以将工具栏显示在窗体的指定位置,并可以用鼠标拖动边界来自定义宽度。如图所示调整好工具栏的位置和大小。

2)工具栏控件和图像框控件进行关联。右击Toolbar1,弹出快捷菜单,执行“属性”命令。弹出“属性页”对话框,打开“通用”选项卡,如图8.21所示。在“图像列表”后的列表框中选择“ImageList1,表示将Toolbar1 工具栏和ImageList1图像列表框建立了关联。

8.21  选择图像列表imagelist1

3)将按钮和图片进行关联。

在“属性页”对话框中打开“按钮”选项卡,如图所示,创建三个按钮,并依次给每个按钮指定一个图片,指定图片时可以用图片的编号,也可以用图片的关键字。如选择编号为1的按钮,再在“图像”文本框中输入编号值1,表示可将图像列表控件图像库中编号为1的图片载入编号为1的按钮上。

8.22  按钮和图像关联 

2.编写工具按钮的事件过程

  Toolbar控件的ButtonClick事件中,除了可用Button.index表示用户按下哪一个按钮之外,也可以用Button.Key来判定,以便能执行相应的程序代码。具体代码如下:

Private Sub Toolbar2_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Key

  Case "a25"                 ‘“a2525字号按钮的关键字

   Text1.FontSize = 25

  Case "a50"                 ‘“a5050字号按钮的关键字

   Text1.FontSize = 50     

    

  Case "a80"                 ‘“a8080字号按钮的关键字

   Text1.FontSize = 80

End Select

End Sub

程序的运行效果如图8.23所示。

8.23  运行效果

二、状态栏

状态栏是窗体下的一个长方条,一般可用状态栏来显示系统的信息和对用户的提示,如系统日期和时间、插入或改写标记、软件版本、光标位置以及对当前操作的提示信息等。

下面介绍状态栏的设计方法

1.添加状态栏控件。

添加“Micrsoft Windows Common Controls 6.0部件后,状态栏控件被添加到工具箱中。双击工具箱中的状态栏(statusBar)控件,即可在窗体底部建立一个状态栏控件对象。当然可通过设置属性Align来改变状态栏的出现位置。

2.设置状态栏控件的“属性页”对话框

右击窗体上的状态栏(statusBar)控件对象,执行快捷菜单中的“属性”命令,打开属性页对话框。如图8.24所示:

8.24  “属性页”对话框

状态栏控件主要是由窗格(Panel)组成,最多可包含16Panel对象,所以这里主要是要介绍“属性页”对话框中的“窗格”选项卡的使用。Panel对象不仅可显示文本和图片之外,还可以显示或处理其它数据,如系统日期、时间、键盘状态等。

有关窗格对象的属性设置及功能介绍详见表8.118.15

8.11  按钮属性的设置

属性

功能

索引

窗格的索引号或编号

关键字

窗格的名字

文本

在窗格上显示的文本内容

工具提示文本

鼠标指向该窗格时出现的提示信息

浏览

可弹出“选定图片”对话框,利用它可选择需要的图像文件并把指定的图像文件添加到当前窗格中

宽度

用来指定窗格的宽度,其中最小宽度是宽度的最小限制

插入窗格

用于在状态栏中插入一个新窗格

删除窗格

将当前窗格删除

样式列表框

用来设置状态栏中显示信息的数据类型,取值和含义见表8  

斜面

用于指定窗格是否使用凹入或凸出的斜面效果,详见表

自动调整大小

用于设定当窗体大小发生变化时Panel对象的大小变化情况,详见表

对齐

用来指定窗格中的文本和图像在窗格中对齐方式,详见表 

8.12  状态栏的Style属性

常数

描述

0

SbrText

默认值,用于显示文本或位图,用Text属性设置文本

1

SbrCaps

用来显示Caps Lock键的工作状态,当激活Caps Lock键时,用黑体显示字母CAPS,当未被激活时则CAPS为暗淡色

2

SbrNum

用来显示 Number Lock键的工作状态,当激活Number Lock键时,用黑体显示字母NUM,当未被激活时NUM则为暗淡色

3

SbrIns

表示插入或改写状态,当Insert键被激活时,显示黑体大写的字母INS,当未被激活时则为暗淡色

4

SbrSerl

表示Scroll Lock键的工作状态,当被激活时,显示黑体字母SCRL,当未被激活时则为暗淡色

5

SbrTime

显示系统当前时间

6

SbrDate

显示系统当前日期

7

SbrKana

表示Kana Lock键的工作状态,当激活滚动锁定时,显示黑体字母KANA,反之则为灰色

8.13   Bevel属性及其含义

常数

含义

0

sbrNobevel

窗格不显示凹凹效果,文本直接显示在状态栏上

1

sbrInset

默认值,窗格显示凹陷的风格

2

sbrRaised

窗格显示凹起的风格

8.14  AutoSize属性及其含义

常数

含义

0

sbrNoAutoSize

默认值,不能自动改变大小,该窗格的宽度始终由width属性决定

1

SbrSpring

当父窗体大小改变,产生了多余的空间时,窗格能相应地变大。但宽度不会小于MinWidth属性指定的宽度

2

sbrContents

窗格的宽度与其内容自动匹配

8.15  Alighnment属性及其含义

常数

含义

0

sbLeft

默认值,文本在位图的右侧,以左对齐方式显示

1

SbrCenter

文本在位图的右侧,以居中方式显示

2

sbrRight

文本在位图的右侧,以右对齐方式显示

3.通过代码设置状态栏的属性

在程序运行过程中,随着工作状态的变化,需要即时去调整状态栏的属性,这些需在通过编写代码来实现。

常见的语句有:

(1)添加Panel对象

可以通过Add方法来创建Panel对象,如下面的代码则为statusBarl对象创建了一个窗格对象Panel1

Dim Panel1 as Panel

Set Panesl = statusBarl. Panels.add

(2)在代码中更改状态栏和窗格的属性

窗格常见的属性有keyindexvisibleenabledtextpicture等,其中Picture属性是加载图片的,Key属性是用来唯一标识特定窗格的。状态栏的常用属性是panels(n),表示编号为n的窗格。

如:

Panel1.index=6

Panel1.key = messeage1

  Panel1.visible=true

Panel1.text = “您可以选择对象”

  Panel1.picture = loadPicture (d:\mypicture.bmp)

  Panel1.enabled=true

  StatusBar1.panels(1).text=”可以进行编辑操作”

‘该命令表示在第一个窗格显示“可以进行编辑操作”

上述代码可以根据程序的需要放在不同对象的事件过程中。如Text1_MouseMove(),可以根据文本框所处的不同工作状态,在状态栏中显示相应的提示信息。

 [8-6]基于例8-5,添加一个状态栏,要求能在状态栏中显示文本框中的光标所在的起始位置、选定的内容、文本框中的文字的个数,能显示CAPS LOCK键的状态并能显示当前日期和时间,程序界面如下图所示:

8.25 程序主界面

操作步骤:

(1)添加状态栏控件。在窗体底部建立一个状态栏控件StatusBar1对象,用鼠标拖动边界可调整状态栏大小。

(2)按下表设置状态栏控件的“属性页”对话框。

8.16  窗格的属性设置

窗格

索引

实际宽度

样式

窗格1

1

4699

0SbrText

窗格2

2

600

1SbrCaps

窗格3

3

1000

6SbrDate

窗格4

4

800

5SbrTime

(3)为事件过程添加代码

Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, _

X As Single, Y As Single)

StatusBar1.Panels(1).Text = "光标位置:" & Text1.SelStart & _

";已选定内容:" & Text1.SelText & ";文字个数:" & Len(Text1.Text)

End Sub

作者:Admin  
  • 上一篇:菜单设计
  • 下一篇:对话框设计及其实例
  • 相关文章
    • 没有相关文章
  • VB程序设计学习网站(赣南师范学院) © 2008 版权所有 All Rights Reserved.
  • 地址:江西省赣州市经济技术开发区 赣南师范学院数学与计算机科学学院 邮政编码:341000
    Email:ZQ188@163.com 技术支持QQ:87319633 移ICP备10086号
  • GnsySjxy! V2.4