分享

VB程序设计常用标准控件(二)

 你喜欢那个 2012-05-13

5.5         滚动条按钮控件

5.5.1滚动条(ScrollBar

滚动条(ScrollBar)可分为水平滚动条(HscrollBar)和垂直滚动条(VscrollBar),其默认名称分别为HscrollXVscrollX(X123),二者只是滚动方向不同。

1.常用的属性

1Value属性

Values是一个界于滚动条控件的Min属性和Max属性取值之间的整数,用来设置滚动块在滚动条中的位置。

2LargeChange属性

3SmallChange属性

4Max属性

5Min属性

2.常用的事件

1Scroll事件

用鼠标拖曳滚动条的滚动块时,此事件发生。

2Change事件

移动滚动条的滚动块、单击滚动条或滚动箭头,使滚动块重定位时,或通过代码改变滚动条的Value属性值时,该事件产生。

Change事件与Scroll事件的区别在于:当滚动条控件滚动时Scroll事件一直发生,而Change事件只是在滚动结束后才发生一次。

【例5.5】滚动条ScrollBar示例。设计一个程序进行坐标设置,界面如图5-10所示。要求:

在文本框中输入0100范围内的数值后,对应滚动条的滚动块会滚动到相应位置,同时在标签中显示当前坐标。

当滚动条的滚动块的位置改变后,对应文本框中也会显示出相应的数值,标签中也会显示出当前坐标。

按下列步骤操作。

1)窗体外观设计

在窗体画1个标签、2个文本框、2个滚动条,

设置控件的主要属性。

2)事件代码设计

HScrollx”水平滚动条控件的“Change”事件过程代码如下:

Private Sub HScrollx_Change()

  Labelxy.Caption = "当前坐标为(" + Str(HScrollx.Value) + "," + Str(VScrolly.Value) + ")"

End Sub

VScrolly”垂直滚动条控件的“Change”事件过程代码如下:

Private Sub VScrolly_Change()

  Labelxy.Caption = "当前坐标为(" + Str(HScrollx.Value) + "," + Str(VScrolly.Value) + ")"

End Sub

Textx”文本框控件的“Change”事件过程代码如下:

Private Sub Textx_Change()

  If IsNumeric(Textx.Text) And Val(Textx.Text) >= 0 And Val(Textx.Text)<= 100 Then

      HScrollx.Value = Val(Textx.Text)

  Else

    Labelxy.Caption = "无效坐标"

  End If

End Sub

Texty”文本框控件的“Change”事件过程代码如下:

Private Sub Texty_Change()

  If IsNumeric(Texty.Text) And Val(Texty.Text) >= 0 And Val(Texty.Text) <= 100 Then

      VScrolly.Value = Val(Texty.Text)

  Else

    Labelxy.Caption = "无效坐标"

  End If

End Sub

3)运行程序

5.5.2按钮(CommandButton)

命令按钮可以控制一个过程的开始、中断和结束,当用户按下按钮时,引发一定的事件,从而执行相应的动作。

1. 按钮控件属性

属性

描述

Alignment

取值为1时,以三维效果绘制控制

BackColorForeColor

分别设置控制的背景色与文字图片的前景色

Cancel

用来指示窗体中命令按钮是否为取消按钮

Caption

设置按钮上显示的文字

DisabledPicture

设置命令按钮无效时显示的图像

DownPicture

当命令按钮被按下时显示的图像

Default

返回或设置一个值,以确定控件是否为窗体的默认命令按钮

Enabled

确定控件是否能够对用户产生的事件做出反应,为False时,不能反应

Picture

返回或设置控件中要显示的图片,当Style=1时,显示图片

Style

指示控件的显示类型,Style=0,按钮上显示文字,Style=1,按钮上显示图形

ToolTipText

返回或设置一个工具提示

Value

是否选择该按钮

设置Caption属性时,如果某个字母前加上“&”,则程序运行时标题中该字母带下划线,且带下划线的字母为快捷键,按住Alt键和带下划线的字符就可把焦点移动到相应的控件上并操作该按钮。

2.按钮控件事件

1Click事件

单击命令按钮会发生Click事件。在代码中也可以触发命令按钮控件,使之在程序运行时自动按下。方法是把Value属性设置为True

CancelButtonValue=True

2GotFocus事件。

当使用Tab键切换,或单击对象,或在代码中用SetFocus方法使命令按钮获得焦点时,发生GotFocus事件。

3LostFocus事件

当对象失去焦点时发生LostFocus事件,该事件主要用来对更新进行验证和确认。

3.按钮控件方法

    命令按钮具有MoveSetFocus等方法。Move方法可移动对象位置,SetFocus方法则可以使命令按钮获得焦点。   

5.6时器与框架控件

5.6.1定时器Timer

定时器控件又称计时器或时钟控件,用于控制有规律地定时执行指定的工作,适合编写不需要与用户进行交互就可直接执行的代码,

在程序运行阶段,时钟控件不可见。

1.属性

1Name属性

2Interval属性

该属性设置或返回两次Timer事件间的时间间隔,取值范围在064 767之间(包括这两个数值),单位为ms0.001s),表示计时间隔。若将Interval属性设置为0或负数,则时钟停止工作。

60 000ms1min,如果把Interval属性设置为1 000,则表明每秒钟发生一个计时器事件。

3Enabled属性

Enabled属性被设置为True而且Interval属性值大于0,则时钟控件开始工作

Enabled属性设置为False,则时钟控件无效,即计时器停止工作

2Timer事件

定时器控件只能响应Timer事件,当Enabled属性值为TrueInterval属性值大于0时,该事件以Interval属性指定的时间间隔发生,需要定时执行的操作即放在该事件过程中完成。

【例5.7Timer控件示例。用计时器可以实现字体的放大,如图5-13所示。

操作步骤如下。

1)窗体外观设计

在窗体上画一个标签,一个计时器

2)事件过程代码设计

Form1”窗体控件的“Load”事件过程代码如下:

Private Sub Form_Load()

  Label1.FontName="Roman"

  Label1.Width=Width

  Label1.Height=Height

  Timer1.Interval=1000

End Sub

Timer1”时钟控件的“Timer1”事件过程代码如下:

Private Sub Timer1_Timer()

   If  Label1.FontSize<100  Then

      Label1.FontSize=Label1.FontSize*1.2

   Else

     Label1.FontSize=10

   End If

End Sub

3)运行程序

5.6.2框架(Frame

用框架可以在同一窗体中建立几组相互独立的单选按钮;可以把不同的对象放在一个框架中,框架提供了视觉上的区分和总体的激活。

在窗体上创建框架及其内部控件对象时,必须先创建框架,然后在其中创建控件对象。

1.框架的主要属性

1Caption属性 

2Enabled属性

3Visible属性

2.框架事件

框架常用的事件是ClickDblClick

同一个窗体上建立几组相互独立的单选按钮时,则必须通过框架为单选按钮分组,使得在一个框架内的单选按钮为一组,每个框架内的单选按钮的操作不影响其他组的按钮。

【例5.8Frame控件示例。设计如图5-14所示的窗体应用程序,通过框架分组单选按钮设置字体类型和颜色。

操作步骤如下:

1)窗体外观设计

在窗体上画一个文本框,画两个框架,每个框架内画3个单选按钮,设置基本属性。

2)编写事件代码

Form1”窗体控件的“Load”事件过程代码如下:

Private Sub Form_Load()

  TextDisplay.FontSize = 12

End Sub

opred”单选按钮控件的“Click”事件过程代码如下:

Private Sub opred_Click()

   TextDisplay.ForeColor = &HFF&

End Sub

opblue”单选按钮控件的“Click”事件过程代码如下:

Private Sub opblue_Click()

   TextDisplay.ForeColor = &HFF0000

End Sub

opgreen”单选按钮控件的“Click”事件过程代码如下:

Private Sub opgreen_Click()

   TextDisplay.ForeColor = &HFF00&

End Sub

Roman”单选按钮控件的“Click”事件过程代码如下:

Private Sub Roman_Click()

  TextDisplay.FontSize = 18

  TextDisplay.FontName = "Roman"

End Sub

Modern”单选按钮控件的“Click”事件过程代码如下:

Private Sub Modern_Click()

  TextDisplay.FontSize = 16

  TextDisplay.FontName = "Modern"

End Sub

Courier”单选按钮控件的“Click”事件过程代码如下:

Private Sub Courier_Click()

  TextDisplay.FontSize = 14

  TextDisplay.FontName = "Courier"

End Sub

3)执行程序

5.7  焦 点 和 Tab 键 顺 序

5.7.1焦点的概念

l         焦点是接收用户鼠标或键盘输入的能力。当对象具有焦点时,可接收用户的输入。

l         在运行时用户通过鼠标单击或者按Tab键切换来转移焦点外,还可以使用控件的SetFocus方法来转移焦点。例如:Text1.SetFocus

1. GotFocus事件

当焦点从其他地方转移到此控件时发生,通常用来进行文本的选择、初始化等。

2.LostFocus事件

当焦点从控件转移开的时候发生。

5.7.2 Tab键顺序

l         所谓Tab顺序,就是按Tab键时焦点在各个控件上移动的顺序。每个窗体都有自己的Tab顺序,当窗体上有多个控件时,系统会对这些控件分配一个Tab顺序,通常其顺序与控件建立的顺序相同。

l         设置控件的Tablndex属性可以改变它的Tab顺序。控件的Tablndex属性决定了它在Tab键顺序中的位置。按照缺省规定,第一个建立的控件其Tablndex值为0,第二个的Tablndex值为1,依次类推。

l         对于能获得焦点且有效的控件,如果不希望按Tab键时能选中该控件,则可以将该控件的TabStop属性设为False,这样便可将此控件从Tab顺序中删除。

小结:

控件是Visual Basic中预先定义好的、程序中能够直接使用的对象。每种控件都有自己的属性、事件和方法,每种控件都可以完成一种特定的任务。这些控件对象都以形象的图标形式出现在工具箱中,以便于编程时使用。本讲系统和深入地介绍了滚动条、命令按钮、定时器与框架这些常用标准控件的属性、方法及事件及其在程序设计中的具体应用。最后介绍了焦点和Tab键顺序的概念和关系。

作业:

1、命令按钮的名称属性和Caption属性有何不同?

2、为什么要用框架将若干单选按钮组合在一起?

3给出两种使时钟控件停止计时的方法(Interval赋值为0,或将Enabled赋值为False)。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多