背景:                 
[本书目录] [图书首页] [本书讨论区]  
链接地址:http://www.17xie.com/read-9.html    注册17xie 一起来写书 实现您的出书梦想!

第二章  常用可视化控件的使用

想要学习Viusal Basic的可视化编程,在熟悉Viusal Basic语法结构的基础上,熟练的利用Viusal Basic中常用的控件是非常必要的,所以本章我们将带领读者来学习Visual Basic 6.0中的这些基本控件。

Viusal Basic为了方便用户开发应用程序,提供了很多的可视化控件,在本章只是介绍一些常用的基本控件,至于高级的Active X控件的应用,在随后的各章中会逐一的加以介绍,在此就不加叙述了。

2.1  使用图片框控件

图片框(PictureBox)控件可以显示来自位图、图标或者元文件,以及来自增强的元文件、JPEG GIF 文件的图形。如图2-1所示即为一个加载有位图文件的PictureBox控件。

2-1  加载位图的控件

PictureBox 控件在Viusal Basic的图形图像处理中占有很重要的地位,同时它本身也有很多独特的属性、事件和方法,下面就对PictureBox 控件的特殊属性和方法作一个系统的介绍。

2.1.1  Align属性

Align 属性返回或设置一个值,确定对象是否可在窗体上以任意大小、在任意位置上显示,或是显示在窗体的顶端、底端、左边或右边,而且自动改变大小以适合窗体的宽度。

它的语法结构如下:

object.Align [= number]

其中Align 属性的设置值及其说明如表2-1所示。

2-1  Align 属性的设置

 

数字值

 

VbAlignNone

0

无,可以在设计时或在程序中确定大小和位置

VbAlignTop

1

顶部,对象显示在窗体的顶部,其宽度等于窗体的 ScaleWidth 属性设置值。

VbAlignBottom

2

底部,对象显示在窗体的底部,其宽度等于窗体的 ScaleWidth 属性设置值

VbAlignLeft

3

左边,对象在窗体的左面,其宽度等于窗体的 ScaleWidth 属性设置值。

VbAlignRight

4

右边,对象在窗体的右面,其宽度为窗体的 ScaleWidth 属性设置值

如图2-2所示为PictureBox控件的Align 属性属性设置为4时的显示情况,控件位于窗体的右侧,宽度为窗体的 ScaleWidth 属性设置值。

2-2  Align 属性属性设置为4

下面的示例代码就是当程序运行时,在窗体上单击鼠标时,程序会自动的判断鼠标的按下位置,并且根据位置的不同来设置PictureBox控件的Align 属性。 Align 属性可以很快地在窗体的顶部或底部创建工具栏或状态栏

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If X < Form1.Width / 2 Then

   If Y < Form1.Height / 2 Then

      Picture1.Align = 1

      '控件显示在窗体的顶部

   Else

      Picture1.Align = 2

      '控件显示在窗体的底部

   End If

Else

   If Y < Form1.Height / 2 Then

      Picture1.Align = 3

      '控件显示在窗体的左面

   Else

      Picture1.Align = 4

      '控件显示在窗体的右面

   End If

End If

End Sub

注意:

@        Align 值设置为 1 2 时,用户改变窗体的大小,控件会自动地改变大小以适合窗体的尺寸。

2.1.2  Appearance属性

Appearance属性用于设置窗体上PictureBox控件在设计时的绘图风格。

它有两个设置值如下所示:

0  平面绘制控件和没有可视化效果的窗体;

1  带有三维效果的绘制控件。

       如图2-3所示即为Appearance属性设置为不同的值时的显示情况,其中左图为Appearance属性设置为1,而右图为Appearance属性设置为0

   

2-3  Appearance属性设置

注意:

@       Appearance属性在运行时是只读的。

2.1.3  AutoRedraw属性

AutoRedraw 属性用于设置控件从图形方法到持久图形的输出,也即用来设置控件是否具有自动重绘的功能。

它的语法结构如下:

object.AutoRedraw [= boolean]

       其中AutoRedraw属性的设置值及其说明如下所示:

n         TruePictureBox 控件的自动重绘有效,图形和文本输出到屏幕的同时存储在内存的图像中;

n         False:使对象的自动重绘无效,且将图形或文本只写到屏幕上。

下面就以一个示例来说明AutoRedraw属性的应用,步骤如下:

1.开始工作

首先启动一个新的项目,在空白的窗体上添加一个PictureBox控件,控件与窗体的属性设置如表2-2所示。

2-2  窗体与控件的属性设置

窗体或控件

 

 

窗体

(Name)

Form1

AutoRedraw

False

 

Caption

Form1

 

Height

3600

 

Left

0

 

Top

0

 

Width

4800

 

控件

(Name)

Picture1

Align

0 - None

 

AutoRedraw

False

 

Height

3000

 

Left

840

 

Picture

(None)

 

Top

120

 

Width

3000

 

添加控件后的窗体如图2-4所示。

2-4  添加控件后的窗体

2.添加代码

在窗体的设计阶段双击窗体,在弹出的代码窗口中找到窗体的Form_Load()事件,并且在其中添加下列代码:

Private Sub Form_Load()

    Dim X, Y As Integer

    '声明坐标变量

    Dim r As Integer

    '声明半径变量

    X = Picture1.ScaleWidth / 2

    '设置圆心坐标 X 位置

    Y = Picture1.ScaleHeight / 2

    '设置圆心坐标 Y 位置

    For r = 0 To Picture1.ScaleWidth / 2

    '设置半径

      Picture1.Circle (X, Y, r, RGB(Rnd * 255, Rnd * 255, Rnd * 255) )

      '在控件上绘制圆

    Next r

    End Sub

程序说明:

在程序开始运行后,首先定义两个坐标变量和一个存储圆半径的变量,通过两条赋值语句设置圆心的坐标,然后通过一个循环语句来控制圆的半径,最后通过一条语句               Picture1.Circle (X, Y, r, RGB(Rnd * 255, Rnd * 255, Rnd * 255) )来以随机的颜色在控件上绘制圆。

3.运行程序

选择菜单File中的Save选项存储文件,按键盘上的功能键F5键运行程序,程序运行的初始画面如图2-5所示。

2-5  程序运行的初始画面

但是程序的运行结果并不像我们所预料的那样在控件上绘制一系列的圆,所以一定是程序代码或者控件的设置有问题。

4.修改代码

经过仔细的分析之后不难发现,控件的AutoRedraw属性设置为False,这样图形就不能够正常的显示在控件上,所以修改代码如下:

Private Sub Form_Load()

    Dim X, Y As Integer

    '声明坐标变量

    Dim r As Integer

    '声明半径变量

    Picture1.AutoRedraw = True

    '设置AutoRedraw处于有效的状态

    X = Picture1.ScaleWidth / 2

    '设置圆心坐标 X 位置

    Y = Picture1.ScaleHeight / 2

    '设置圆心坐标 Y 位置

    For r = 0 To Picture1.ScaleWidth / 2

    '设置半径

      Picture1.Circle (X, Y), r, RGB(Rnd * 255, Rnd * 255, Rnd * 255)

      '在控件上绘制圆

    Next r

    Picture1.AutoRedraw = False

    ' 关闭AutoRedraw

End Sub

5.运行程序

存储文件,重新运行程序,结果如图2-6所示。

2-6  在控件上绘制圆


字数:5358    最后更新:1年以前 [08-24 12:07]我爱钱 修改
本页编辑者:我爱钱  
[前一页]:第一章  [后一页]:第二章
[在本页中加入书签] [收藏本书] [推荐本书]
  17xie论坛 > 本书讨论区 > 本页评论   (共0条)
发表评论

用户名称 匿名发表
评论内容
验证码

关于我们 | 版权声明 | 免责声明 | 诚聘英才 | 联系我们 | 合作伙伴 | 友情链接 | 广告合作 | 提交意见
Copyright © 2007 17xie.com 互联网协同写书平台 京ICP备08002671号