滚动条常常用来附在某个窗口上帮助观察数据或确定位置,也可以用来作为数据输入的工具。在日常操作中,我们常常遇到这样的情况:在某些程序中,如 Photoshop ,一些具体的数值我们并不清楚,如调色板上的自定义色彩,这时,可以通过滚动条,用尝试的办法找到自己需要的具体数值。 在 Visual Basic 中,滚动条分为横向(HscrollBar)与竖向(VscrollBar)两种,命名规则为:HsbX 或 VsbX ,如 HsbShow、VsbShow ,等等。它们在工具箱上的图标如图一:
选中滚动条按钮,把鼠标指针放到界面设计区,然后拖动,画出符合自己要求的滚动条,或者直接双击该按钮,自动在界面设计区生成默认大小的滚动条,如图二所示:
一、滚动条控件的属性:
Max 与 Min 属性是创建滚动条控件必须指定的属性,默认状态下, Max 值为 32767 ,Min 值为 0 。本属性既可以在界面设计过程中予以指定,也可以在程序运行中予以改变,如: HsbShow.Min = 3 2、Value(数值)属性: Value 值可以在设计时指定,也可以在程序运行中改变,如: HsbShow.Value = 24 3、SmallChange(小改变)属性:
4、LargeChange(大改变)属性:
二、滚动条控件的事件: 三、示例:
1、创建界面。 2、双击滚动条(HsbShow),进入代码编写窗口: 3、滚动条的拖动事件:
Private Sub HsbShow_Scroll() LblShow.Caption = "拖动中……" End Sub 有如图一这样一个应用程序,分别拖动红、绿、蓝三个滚动框来决定文本框的背景色,另外还有一个竖向滚动条,可以用来控制文本框的大小。
一、图像的着色问题: 在 RGB 模式中,每种色彩最多有 255 种变化,也就是说,只要 R 、G 、B 三种色彩都在各自的 255 范围内,这种色彩就是有效的。 在 VB 中,也用 RGB 来作为色彩的描述,如文本框的背景色为白色,则表示为:Text1.Backcolor = RGB(255,255,255)。 二、VB 中对象的初值储存问题: 方法是,将原始数据,如坐标值、原始长宽高,等等,赋值给某个变量,最后通过变量的调用就能完成默认状态的恢复。 三、程序设计: 三个表示色彩的标签: 三个表示色彩的横向滚动条: 显示“大小”字样的标签: 对文本框大小进行控制的竖向滚动条: 用于显示大小变化尺寸的标签: 2、双击红色滚动条,在弹出的程序代码窗口中输入: 另外,就 HsbRed 的 Scroll 事件也输入上面的代码: Private Sub HsbRed_Scroll() 3、同理所得,在绿色与蓝色滚动条中输入相应代码。这样,通过滚动条控制文本框背景色的目的达到了。 4、在“通用”选项中定义全局全量,用来储存文本框的原始尺寸: Dim Iwidth As Integer 5、用来改变文本框尺寸的竖向滚动条: Scroll 事件: 6、调试: 在 Form 的 Load 事件中输入以下代码: Private Sub Form_Load() 7、最后结果如图二:
在 Windows 应用程序中常常要用到时间控制的功能,如在程序界面上显示当前时间,或者每隔多长时间触发一个事件,等等。而 Visual Basic 中的 Timer(时间)控制器就是专门解决这方面问题的控件。 Timer 控制器在工具箱面板上的图标如图一:
选中时钟控制器,将鼠标移到界面设计区,在窗体中拖出一个矩形就可以创建一个 Timer 控件了。跟其他控件不同的是,无论你绘制的矩形有多大,Timer 控件的大小都不会变,如图二:
另外,Timer 控件只有在程序设计过程中看得见,在程序运行时是看不见的。 一、Timer 控件的属性: Interval 属性决定了时钟事件之间的间隔,以毫秒为单位,取值范围为 0 ~ 65535 ,因此其最大时间间隔不能超过 65 秒,即一分钟多一点的时间。如果把 Interval 属性设置为 1000 ,则表示每秒钟触发一个 Timer 事件。 其语法格式: 二、Timer 控件的 Timer (定时)事件: 三、示例:
1、创建程序界面: 另外,别忘了把 Timer1 的 Interval 属性设置为 1000 。
2、在 Timer1 的 Timer 事件中输入以下代码: Private Sub Timer1_Timer() 注意,Time 是 Visual Basic 中的关键詞,表示显示系统时间。
在一个应用程序中,对文件的处理是一个比较常用的操作,如打开文件、保存文件,等等。Visual Basic 提供了三个控件对磁盘文件夹与文件进行显示与操作,它们分别是:DriveListBox(磁盘列表框)控件、DirListBox(文件夹列表框)控件,以及 FileListBox(文件列表框)控件。如图一:
一、DriveListBox(磁盘列表框)控件:
在窗口中创建的磁盘列表框可以自动显示电脑上或网络上的所有磁盘驱动器,另外,还可以通过语法设置运行时显示的驱动器名称,这就要用到 Drive 属性。 磁盘列表框名称.Drive = Drive(如 C: ,或者 D:,等等)。 比如,要在窗体启动时把当前磁盘改为 F 盘,那么: Private Sub Form_Load()
二、DirListBox(文件夹列表框)控件:
文件夹列表框控件可以显示与设置文件夹的路径,当用户在窗口中创建 DirListBox 控件时,双击其中的文件夹,不需进行编程就能自动显示下一级的文件夹,如图五:
本控件的主要属性是 Path 属性,用来返回或设置当前文件夹的路径,只能在程序运行中使用,其语法是: 文件夹列表框名称.Path = 具体的路径 比如,我们要在窗体启动时把默认显示的文件夹改为 D:\Mytool\ ,程序可以这样写: Private Sub Form_Load() 三、FileListBox(文件列表框)控件:
文件列表框控件主要有两个属性,即 Path 属性与 FileName 属性,前者代表文件的路径,从显示路径的功能上来说,比后者更简便一些;后者则用来返回或设置所选文件的路径与文件名,其语法是: 文件列表框名称.FileName = 路径 比如,我们要在窗体启动时将 E:\稿件 目录下的所有 ZIP 文件列出来,程序可以这样写: Private Sub Form_Load() 结果如图七:
四、三个控件的连接: 1、将磁盘列表框的操作赋值给文件夹列表框的 Path 属性,在磁盘列表框的 Change 事件中输入如下代码: Private Sub Drive1_Change() 2、对文件夹列表框控件进行的操作,直接影响文件列表框所显示的内容: Private Sub Dir1_Change() 最后结果如图八:
窗体犹如一块画布,在设计时是程序的设计区域,而在运行程序时,每个窗体对应于一个窗口。 一、窗体的结构:
系统菜单:Form1.ControlBox,点击它可以弹出菜单命令。 标题栏:Form1.Caption,显示的窗口标题,如本例中的“Form1”。 最小化按钮:Form1.MinButton 。 最大化按钮:Form1.MaxButton 。 二、窗体的主要属性: 2、AutoRedraw(自动重画): 本属性控制图像的重建,常用于多窗体程序设计中,语法如下: 窗体名称.AutoRedraw = True/False 当 AutoRedraw 设置为 True 时,那么本窗体被另外的窗体覆盖后,又回到此窗体时,将自动重新刷新或重画窗体上的所有图形;如果是 False ,则必须通过事件过程来设置这一操作。 默认属性为 False。如图二:
3、BackColor(背景色)与 ForeColor(前景色):
后者用来指定文本或图形的前景色,如图四:
4、Height(高度)与 Width(宽度): 如要让窗体的高度变为 200 ,宽度变为 300 ,那么程序应该写成: Private Sub Form1_Click() 5、Top(顶部)与 Left(左边距)属性: 要注意的是,随对象的不同,这个 Top 与 Left 的意义不同。当对象是窗体,Top 指的是窗体顶部与屏幕顶部的相对距离,Left 指的是窗体左边界与屏幕左边界的间距;当对象是其他控件时,它们分别表示控件顶部、左边与窗体顶部、左边之间的距离,如图五所示:
语法示例: Private Sub Form1_Click() 上面的语句会把 Form1 窗体移动到距屏幕顶部 200 Twip ,距屏幕左边距 300 Twip 的地方。 6、Visible(可见)属性: 本属性虽然简单,但却是常常需要用到的,请大家牢记在心。 三、窗体的主要事件: 窗体最主要的事件,用来在启动程序时对属性和变量进行初始化。程序一旦运行,将自动触发本事件。 2、UnLoad(卸载)事件: 3、Click(单击)与 DblClick(双击)事件:
在以前的学习中,我们已经接触到了 Click 事件,实际上,对一个严谨的程序来说,这种应用不是很普遍,大家知道就行了。 Visual Basic 为编程人员提供了强大的绘图功能支持,在本章,我们将学会基本的绘图方法。 在 VB 中,主要通过两种办法进行图像绘制:一种是利用 ActiveX 控件,如用图形框显示图片;另外一种是通过使用 VB 语言本身的函数和方法,通过在屏幕上绘制点、线和图形来制作。 一、图形框控件的主要属性:
1、Name 属性: 2、Picture(图片)属性: 对象.Picture = LoadPicture("图形文件的路径与名字") 如:PicMove.Picture = Loadpicture("c:\Picts\pen.bmp") 3、AutoSize(自动显示)属性: 二、图形框控件的主要事件: 三、图像框控件(Image)的主要属性: PictureBox 用 AutoSize 属性控制图形的尺寸自动适应,而 Image 控件则用 Stretch 属性对图片进行大小调整。如图二:
四、图像框与图形框控件的区别: 图形框作为一个“容器”,可以把其他控件放在其内作为它的“子控件”,当图形发生位移,其内的子控件也会跟着一起移动。
2、图形框可以通过 Print 方法显示与接收文本,而图像框不能。 3、图像框比图形框占用内存少,显示速度更快一些,因此,在图形框与图像框都能满足设计需要时,应该优先考虑使用图像框。
在本节,我们要实现两张不同图片在同一个图形框内的切换,同时可以启用与禁用图形框的自动适应功能。
一、设计: 图形框控件: 自动适应复选框: 图片切换按钮: 2、先在通用区声明如下变量: 其中,X 准备用来做为图片切换的条件,当 X 为 1 ,图片切换按钮可以切换到图片二;当 X 为 2 ,图片切换按钮可以切换到图片一。 IWidth 与 IHeight 准备用来储存图形框的初始宽度与高度,以便在图形框发生大小变化后回复到原样。 3、程序打开时自动载入图片一: Private Sub Form_Load() 4、自动适应功能的实现: 上面程序的意思是,如果复选框被选中,那么先将原始图形框的宽度与高度赋给 IWidth、IHeight ,然后再通过激活 PicShow 的 AutoSize 功能达到图形框的自动适应;如果复选框没被选中,那么禁止 PicShow 的 AutoSize 功能,然后将图形框原来的高度(现在的 IHeight)和宽度(现在的 IWidth)赋值给图形框以恢复原样。 5、图片切换: 在上面的程序中,先对 X 进行判断,如果 X 为 1 ,那么图形框显示图片二,显示标签改变成“现在显示的是第二张图”字样,作为图形切换的按钮, 二、联想: 具体程序大家可以自行思考,此处不再赘述。
利用直线与形状控件,可以使窗体上显示的内容更为丰富,如在窗体上增加简单的线条和实心图形,等等。 利用直线控件,可以建立简单的直线,通过修改其属性,还可以改变直线的粗细、色彩,以及线型。 通过设置形状的属性,用户可以画出圆、椭圆,以及圆角矩形,同时还能设置形状的色彩与填充图案。 主要属性: 1、BorderStyle(边框类型),实用于直线与形状。 2、FillStyle(填充类型),实用于形状。 3、Shape(形状),实用于形状。
Rectangle:矩形。 Square:正方形。 Oval:椭圆形。 Circle:圆形。 Rounded Rectangle:圆角矩形。 Rounded Square:圆角正方形。 除了前面谈到的用控件显示与绘制图形的方法外,VB 还提供了一组庞大的方法用来绘制点、线、面,以及设置前景、背景色等各种方法。 一、设置当前绘图点: 二、绘制点、线、面的方法: 对象名.Pset (X,Y),[Color] X ,Y 分别为点的水平与垂直坐标,Color 为点的颜色,是可选项。 2、直线的绘制法: 在对象上绘制直线,语法如下: 对象名.Line (X1,y1) - (X2,Y2), [Color] (X1,Y1) 是直线的起点,(X2,Y2)是直线的终点,Color 为可选项。 如图一:
2、图形框的代码是: 3、绘制矩形: 对象名.Line (X1,Y1) - (X2,Y2), [Color], B ,[F] 其中,(X1,Y1) 是矩形的左上角座标,(X2,Y2)是矩形右下角座标,Color 为矩形边框的颜色,使用参数 B 而不用 F ,那么矩形用当前的填充色(FillColor)与填充方式(FillStyle)对矩形进行填充;如果使用了参数 F ,那么矩形以边框的颜色进行填充。如图二:
特别注意,用 Line 画矩形框,如果不用其他参数,那么 B 与坐标(X2,Y2)之间应该有两个逗点,一个是紧跟坐标2,一个表示 Color 省略了,如:Picture1.Line (500,500) - (1000,1000),,B 4、绘制圆、椭圆、弧: 对象名.Circle (X,Y), Radius, [Color,start,end,aspect] 其中,(X,Y)是圆、椭圆或弧的圆心坐标,Radius 是半径,这两个参数是必须项;Color 是圆的轮廓色,Start 与 End 是弧的起点与终点位置。其范围是 -2 —— 2Pi ;Aspect 是圆的纵横尺寸比,默认值是 1 即圆,如图三:
三、颜色、前景与背景色的设置: RGB(Red,Green,Blue) 不要忘了,Red、Green、Blue 每种色彩各有 0——255 种成份,三种色彩不同参数的搭配,就产生了丰富多采的现实世界。 2、前景色的设置: 3、背景色的设置: 4、图形的清除: 对象名.Cls
|
|