370 likes | 497 Views
第十一讲. VB 常用标准控件( 2 ). 第 5 章 VB 常用标准控件. 5.1 单选按钮、复选框、框架 5.2 列表框、组合框 5.3 计时器、滚动条 5.4 图形控件. 本讲教学内容. 5.3 计时器、滚动条 5.4 图形控件. 5.3 计时器和滚动条 一、计时器 (Timer) 1. 计时器的特点 计时器控件通过 Timer 事件,可以有规律地隔一段时间执行一次事件过程代码。 2. 计时器的属性
E N D
第十一讲 VB常用标准控件(2)
第5章 VB常用标准控件 5.1 单选按钮、复选框、框架 5.2 列表框、组合框 5.3 计时器、滚动条 5.4 图形控件
本讲教学内容 5.3 计时器、滚动条 5.4 图形控件
5.3 计时器和滚动条 一、计时器(Timer) 1. 计时器的特点 计时器控件通过Timer 事件,可以有规律地隔一段时间执行一次事件过程代码。 2. 计时器的属性 ①Interval属性:这个属性可以设定Timer 事件触发的时间间隔,其时间间隔以毫秒为单位,取值范围为0~65535毫秒。一般设为1000毫秒,这样可以每秒种触发一次Timer 事件。
②Enabled 属性:计时器的Enabled 属性也是较常用的属性,该属性决定计时器控件是否能对时间的推移做出响应。若将Enabled 设置为 False ,此时计时器控件无效,即Timer事件不会触发;当Enabled设置为 True时,计时器控件有效。 3. 计时器的事件 计时器的事件只有一个,为Timer事件。Timer事件的触发时间是从Interval 属性的设置值开始,以后每隔这样一个时间段,就触发一次Timer事件。需要说明的是当Interval 属性值为0时,计时器无效。
4. 计时器的应用举例 【例5-7】设计一个应用程序,界面如下图所示。当程序运行时在单击窗体输入姓名后,标签框1中文字“您好!XX”从右向左移动,标签框2中文字“欢迎学习Timer控件”从左向右移动,且文字颜色每秒随机改变一次。
设计步骤: ①新建一个工程,设置窗体的Caption属性为“计时器控件示例”。 ②按上图所示,在窗体上添加3个标签框和3个计时器,按界面所示设置Label2的Caption属性值。 ③编写事件过程代码。
Private Sub Form_Load() Label1.AutoSize = True: Label3.AutoSize = True Label1.FontSize = 18: Label3.FontSize = 15 Label1.BackStyle = 0: Label3.BackStyle = 0 Label1.Visible = False: Label3.Visible = False Timer1.Interval = 500 Timer2.Interval = 1000 Timer3.Interval = 100 Timer1.Enabled = False Timer2.Enabled = False Timer3.Enabled = False End Sub
Private Sub Form_Click() a = InputBox("请输入您的姓名:") Label1.Visible = True Label3.Visible = True Label1 = "您好!" & a Label3 = " 欢迎学习Timer控件" Timer1.Enabled = True Timer2.Enabled = True Timer3.Enabled = True Label2.Visible = False End Sub
Private Sub Timer1_Timer() Label1.Left = Label1.Left - 100 If Label1.Left < 0 Then Label1.Left = Form1.Width End If End Sub Private Sub Timer2_Timer() Randomize Label1.ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255) Label3.ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255) End Sub
Private Sub Timer3_Timer() Label3.Left = Label3.Left + 100 If Label3.Left > ScaleWidth Then Label3.Left = 0 End If End Sub
一、滚动条 1. 滚动条的特点 在项目列表很长或者信息量很大时,可以使用滚动条来提供简便的定位,模拟当前所在的位置。滚动条还可以作为输入设备,或者速度、数量的指示器来使用。 VB中的滚动条可分为水平滚动条(HScrollBox)和垂直滚动条(VScrollBox)两种。无论那种滚动条,其两端各有一个滚动箭头,中间拥有一个可滑动的滑块。
2. 滚动条的属性 Value属性:记录滑块在滚动条内当前位置的值。 Max和Min属性:用来设置滚动条Value值的最大值和最小值。水平滚动条的滑块在最左端表示最小值Min,由左往右移动时,Value值随之递增,到最右端是最大值Max。垂直滚动条的滑块在最上端表示最小值Min,由上向下移动Value值随之递增,到最下端为最大值Max。 LargeChange属性:设置每当鼠标在滚动条内单击时,滑块增(减)的Value属性值。 SmallChange属性:设置每当鼠标单击滚动条两端的箭头时,滑块增(减)的Value属性值。
3. 滚动条的事件 Change事件:该事件在滑块进行滚动或通过代码改变 Value 属性值时发生。 Scroll事件:当在滚动条内拖动滑块时触发该事件。
4. 滚动条的应用举例 【例5-8】设计一个应用程序,界面如下图所示。用水平滚动条表示速度(范围1~100 km/h),垂直滚动条表示时间(范围1~100 h),当时间和速度发生变化时自动计算距离。
控件名称 属性名 属性值 HScroll1 Max 100 HScroll1 Min 0 VScroll1 Max 100 VScroll1 Min 0 设计步骤: ①新建一个工程,设置窗体的Caption属性为“计算距离程序”。 ②按上图所示,在窗体上添加1个水平滚动条、1个垂直滚动条、5个标签框和3个文本框,并按图5.18所示设置各控件的属性。另外滚动条的属性按下表所示设置。
③编写事件过程代码。 Private Sub Form_Load() Text1.Text = 0 & " h": Text2.Text = 0 & " km/h" Text3.Text = 0 & " km" End Sub Private Sub HScroll1_Change() Text2.Text = HScroll1.Value & " km/h" Text3.Text = Str(HScroll1.Value * VScroll1.Value) & " km" End Sub
Private Sub HScroll1_Scroll() Text2.Text = HScroll1.Value & " km/h" Text3.Text = Str(HScroll1.Value * VScroll1.Value) & " km" End Sub Private Sub VScroll1_Change() Text1.Text = VScroll1.Value & " h" Text3.Text = HScroll1.Value * VScroll1.Value & " km" End Sub
Private Sub VScroll1_Scroll() Text1.Text = VScroll1.Value & " h" Text3.Text = HScroll1.Value * VScroll1.Value & " km" End Sub
【例5-9】设计一个应用程序,初始界面如下图所示。其功能要求为:①可以根据不同的日期格式显示日期,要求拥有的日期格式为“年/月/日”、“月/日/年”和“日/月/年”;②根据12或24小时制显示时间;③另外还有一个最大计时为60秒的计时秒表。
设计步骤: ①新建一个工程,设置窗体的Caption属性为“计时秒表”。 ②按上图所示,设计界面和属性,其中Combo1为下拉列表框。 ③编写事件过程代码。
Option Explicit Dim seconds As Integer Private Sub Form_Load() ' 设置运行初始状态 Text1.Text = Date$ Text2.Text = Time$ Combo1.Text = " 年/月/日" Combo1.AddItem " 年/月/日" Combo1.AddItem " 月/日/年" Combo1.AddItem " 日/月/年" Option2.Value = True Frame3.Visible = False Form1.Height = 3800 Timer1.Interval = 1000 Timer2.Interval = 1000 Timer2.Enabled = False HScroll1.Min = 0 HScroll1.Max = 60 End Sub
Private Sub Timer1_Timer() ' 根据所选的显示格式,每秒刷新日期和时间的显示内容 If Option1.Value = True Then Text2.Text = Format(Now, "hh:mm:ss AM/PM") Else Text2.Text = Format(Now, "hh:mm:ss") End If Select Case Combo1.ListIndex Case 0 Text1.Text = Format(Now, "yyyy/mm/dd") Case 1 Text1.Text = Format(Now, "mm/dd/yyyy") Case 2 Text1.Text = Format(Now, "dd/mm/yyyy") Case Else Text1.Text = Format(Now, "yyyy/mm/dd") End Select End Sub
Private Sub Check1_Click() ' 设置计时秒表有效 Frame3.Visible = True Form1.Height = 5500 End Sub Private Sub Command1_Click() ' 开始计时 seconds = 0 Text3.Text = seconds Timer2.Enabled = True Call Timer2_Timer End Sub
Private Sub Timer2_Timer() ' 由Timer2计时器控制,实现秒表功能 seconds = seconds + 1 Text3.Text = seconds & "秒" HScroll1.Value = seconds End Sub Private Sub Command2_Click() ' 关闭Timer2计时器,停止秒表计时 Timer2.Enabled = False End Sub Private Sub Command3_Click() End End Sub
5.4 图形控件 一、图片框(PictureBox) 1. 图片框的作用 图片框控件的主要作用是为用户显示图片,它可以从文件中装入并显示Bmp(位图文件)、Icon(图元文件)、JPEG和GIF几种格式的文件。 图片框也可作为其它控件的容器。
2. 图片框的常用属性 ①Picture属性:这个属性用于设置在图片框中要显示图像的文件名。 ② AutoSize属性:这个属性用于设置图片框的大小是否可以随图像的大小而自动调整。 当取值为False时,图片框保持原始尺寸,不能自动改变大小来适应其中的图形,当图形比图片框大,超出的部分将被截去。 当取值为True时,图片框将根据图形大小自动调整尺寸与显示的图片匹配。
③Align属性:用于设置图片框在窗体中的显示方式,共有5个选择值:③Align属性:用于设置图片框在窗体中的显示方式,共有5个选择值: 0--None(默认值),表示无特殊显示。 1--Align Top,表示图片框停靠在窗体上端并与窗体一样宽。 2-- Align Bottom,表示图片框停靠在窗体底部并与窗体一样宽。 3-- Align Left,表示图片框停靠在窗体左端并与窗体一样高。 4-- Align Right,表示图片框停靠在窗体右端并与窗体一样高。
3. LoadPicture函数 在图片中显示的图像不仅可以由图片框的Picture属性决定,还可以在代码中通过LoadPicture函数进行设置,其格式为: 对象名. Picture= LoadPicture(“图形文件名”)
二、图像框(Image) 1. 图像框的作用 图像框控件是VB提供的另一种显示图像折控件,它支持的文件格式和图片框相同。 2. 图像框的常用属性 ①Picture属性:这个属性用于设置在图像框中要显示图像的文件名。 ②Stretch属性:这个属性用于拉伸位图和图标,使其适应图像框的大小。
当取值为False时,可以自动调整图像框大小以适应图像。 当取值为True时,可以缩放图像来适应图像框的大小。 3. 图像框和图片框的区别 图像框比图片框占用较少的内存,所以描绘速度更快。 而图片框是“容器”控件,即图片框可以包含其它控件,而图像框不是“容器”控件。 图片框可以通过Print方法接收文本,而图像框不支持这一功能。
三、画线工具(Line) 画线工具是图形控件,它可以画水平线、垂直线或者对角线。 在设计时,可以使用画线工具在窗体或图形框上绘制所需的线。画线的操作步骤如下: ①单击工具箱中的画线工具; ②移动鼠标到要画线的起始位置; ③按下鼠标左键并拖曳鼠标到要画线的结束处,放开鼠标左键。
四、形状工具(Shape) 形状工具可以用来画矩形、正方形、椭圆、圆形、圆角矩形或者圆角正方形。这些图形的几何特性取决于形状工具的Shape属性。 0—Rectangle 矩形 1—Square正方形 2—Oval椭圆 3—Circle圆 4—Rounded Rectangle 圆角矩形 5—Rounded Square 圆角正方形