您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> VB >> 辅导 >> 正文    
  VB教程:图片框(PictureBox) 【注册男护士专用博客】          

VB教程:图片框(PictureBox)

www.nanhushi.com     佚名   不详 

11、图片框(Picture Box)

作用:添加图形的容器。

在面向对象程序设计过程中,每一个对象的添加都必须有对应的载体或容器。在前面介绍的窗体、框架控件和图片框控件都可以作为容器来添加其他控件,与窗体和框架控件相比,图片框控件用作容器时,具有更多的图形功能。

Picture Box控件支持下列5种图形格式:

  • Bitmap位图:它将图像定义为点(像素)的图案。位图的文件扩展名是.bmp或.dib。

  • Icon图标:这是一种特殊类型的位图。图标的最大尺寸为32像素x 32像家,但在windows 98下,图标也可为16x16像素大小。图标的文件扩展名为.ico。

  • Metafile图元文件:这是将图形定义为编码的线段和图形。普通图元文件扩展名为.wmf。

  • JPEG:Internet上一种流行的压缩位图格式,支持8位和24位颜色。

  • GIF;Internet上一种流行的压缩位图文件格式,它可支持多达256种颜色。

(1)图片框的特殊属性

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

语法结构:

object.Align [ = number ]

Align 属性的设置值及其说明

设置

数字 说明
VbAlignNone 0 无,可以在设计时或在程序中确定大小和位置
VBAlignTop 1 顶部,对象显示在窗体的顶部,其宽度等于窗体的ScaleWidth属性设置值
VbAlignBotton 2 底部,对象显示在窗体的底部,其宽度等于窗体的ScaleWidth属性设置值
VbAlignLeft 3 左边,对象在窗体左面,其宽度等于窗体的ScaleWidth属性设置值
vbAlignRight 4 右边,对象在窗体右面,其宽度为窗体的ScaleWidth属性设置值

注意:

  • 利用Align属性可以很快地在窗体的顶部或底部创建工具栏或状态栏。

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

Appearance 属性——用于设置窗体上PictureBox控件在设计时的绘图风格。它有两个设置值:

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

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

AutoRedraw 属性——用于设置控件使图形持久地输出,即是否具有自动重绘功能。

语法结构:

 object.AutoRedraw [ = Boolean ]

Ture——有自动重绘的效果,图形和文本输出到屏幕的同时存储在内存的图像中

False——无自动重绘的效果,且将图形或文本只写到屏幕上

例1:见教材P147。

界面:

   

代码:

Private Sub Form_Click()

        Dim x, y As Integer
        Dim r As Integer
        Picture1.AutoRedraw = True
        x = Picture1.ScaleWidth / 2
        y = Picture1.ScaleHeight / 2
    For r = 0 To Picture1.ScaleWidth / 2
        Picture1.Circle (x, y), r, RGB(Rnd * 255, Rnd * 255, Rnd * 255)
    Next r
        Picture1.AutoRedraw = False

End Sub

[程序演示]        [程序下载]

关于随即函数Rnd
一般格式:Rnd(x)
其中:x可以是任意数值,一般取正数1。随机函数也可以写成Rnd。
功能:产生大于0而小于1的随机数。
要真正产生不同的随机熟,必须使用播种语句Randomize [Timer]。

AutoSize 属性——该属性用于设置控件是否具有自动改变大小的功能,以适应图象文件的尺寸,显示图象文件的内容。

 语法结构:

object.AutoSize [ =Boolean ]

ture——自动改变控件大小以适应显示全部内容

False——保持控件大小不变,超出控件区域部分的内容被裁剪掉

Image ——该属性用于返回持久图形的句柄,该句柄由Microsoft Windows 运行环境提供。

语法结构:

 object.Image

例2:随机画同心圆,并把绘制的图形保存到指定的位图文件中。见教材P150。

界面:

   

AutoRedraw属性设置为True。

代码:

Private Sub Form_Load()

    Picture1.Picture = LoadPicture("")    '清空控件上的图形

End Sub


Private Sub Form_Click()

        Dim x, y, r As Integer
        x = Picture1.ScaleWidth / 2
        y = Picture1.ScaleHeight / 2   '设置圆心坐标X、Y的位置
    For r = 0 To Picture1.ScaleWidth / 2
        Picture1.Circle (x, y), r, RGB(Rnd * 255, Rnd * 255, Rnd * 255) '画圆
    Next r


        SavePicture Picture1.Image, "1.bmp"  '保存图片到文件
End Sub

[程序演示]        [程序下载]

Picture属性——通过对Picture属性的设置可以确定图片框控件引入的图片名称。

装入图形文件的方法:

在设计阶段,可以通过属性窗口直接设置Picture属性,或者可以使用剪贴板(使用方法是常用的复制Ctrl+C和粘贴Ctrl+V)。

在程序运行阶段,利用LoadPicture函数来设置。

LoadPicture函数的功能是将图形载入到窗体的Picture属性、PictureBox控件或Image控件。

语法结构:

Picture1.Picture=LoadPicture("路径及图形文件名")

注意:

(1)要使用西文引号。

(2)如果LoadPicture方法括号中空白,如:

    Picture1.Picture=LoadPicture()

则可以清除图形,即使在设计时曾向图形窗口的Picture属性加载了图形。

(3)在设计阶段装入的图形,会与窗体一起保存在文件中,当生成可执行文件时,不必提供需要装入的图形文件,这样使用安全,但窗体文件大;而在运行期间利用LoadPicture函数装入的图形,必须确保能找到相应的图形文件,否则显示出错信息。

(4)装入图片框中的图形可以被拷贝到另一个图片框中。通过语句

    Picture1.Picture=Picture2.Picture

可把图片框Picture1的图形拷贝到Picture2中。

(2)Paint 事件

作用:该事件用于填充图案。

在一个对象被移动或放大之后,或在一个覆盖该对象的窗体被移开之后,该对象部分或全部暴露时,此事件发生。

语法结构:

Private Sub Picture1_Paint ( )

例3:在Picture Box控件上绘制一个填充圆当窗体的大小和位置改变时,要在窗体上重新输出一个填充圆。见教材P152。

界面:

设计界面 运行界面 窗体大小改变后

属性设置:Picture1的Align属性为2(底部),FillColor可选择颜色(本例为粉红色),FillStyle为6(为网格状),AutoRedraw属性设置为Flase。

代码:

Private Sub Picture1_Paint ( )

    Dim x, y
    x = Picture1.ScaleLeft + Picture1.ScaleWidth / 2
    y = Picture1.ScaleTop + Picture1.ScaleHeight / 2
    Picture1.Circle (x, y), 550

End Sub

Private Sub Picture1_Resize()

    Refresh    '更新

End Sub

[程序演示]        [程序下载]

(3)方法

PaintPicture方法 ——该方法用于在PictureBox控件上绘制图形文件的内容。

主要绘制的图形类型有:*·bmp 、*·wmf 、*·emf 、*·ico 、*·dib

语法结构:

object.PaintPicture picture, x1 ,y1,width1, height1 ,x2 ,y2 ,width2 ,height2 ,opcode

(红色为必选项)

语法说明如下:

参数

说明

Object

一个对象表达式,如果省略object,带有焦点的Form对象缺省为object

Picture

要绘制到object上的图像来源

X1,y1

指定在控件上绘制picture的目标坐标(x-轴和y-轴)

Width1

指示picture的目标宽度,如果该参数省略,则使用源宽度

Height1

指示picture的目标高度,如果该参数省略,则使用源高度

X2,y2

指示picture内剪贴区的坐标(x-轴和y-轴),如果该参数省略,则缺省为0

Width2

指示picture内剪贴区的源宽度,如果该参数省略,则使用整个源宽度

Height2

指示picture内剪贴区的源高度,如果该参数省略,则使用整个源高度

Opcode

是长型数值或仅由位图使用的代码

例4:显示一幅逐渐缩小的位图文件的程序,见教材P156。

界面:

  

属性设置:Picture2的Visible设置为False,Picture加载一副图,AutoSize为Ture。

代码:

Private Sub Picture1_Click()

Dim i As Double '定义一个变量
For i = 1 To 10 Step 0.01
    Picture1.PaintPicture Picture2.Picture, 0, 0, Picture1.ScaleWidth, _
    Picture1.ScaleHeight, i, i, Picture2.ScaleWidth * i, Picture2.ScaleHeight * i '复制图像
    Cls '清除图像
Next

End Sub

[程序演示]        [程序下载]

Print方法——使用Print方法就可在Picture Box控件上输出文本。

例如:

Picture1.Print"This a example."

使用Print方法的前提条件是将AutoRedraw属性设置为Ture。

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)                            【进男护士社区逛逛】
    姓 名:
    * 游客填写  ·注册用户 ·忘记密码
    主 页:

    评 分:
    1分 2分 3分 4分 5分
    评论内容:
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。