VB中PictureBox控件使用方法

合集下载

vb图形操作

vb图形操作

图片框的常用方法
paintPicture方法.格式: paintPicture方法.格式: [对象.]PaintPicture 对象.]PaintPicture <picture>,<x1>,<y1>[,width1][,height1][,x2][,y2] [,width2][,height2] 说明: <picture>,必选,要绘制到对象上的图形. <picture>,必选,要绘制到对象上的图形. <x1>,<y1>:表示在对象上绘制图片的坐标值. <x1>,<y1>:表示在对象上绘制图片的坐标值. [,width1][,height1]:绘制图片的目标宽度和高度. [,width1][,height1]:绘制图片的目标宽度和高度. [,x2][,y2]:图片剪切区内的坐标.若省略,则为0 [,x2][,y2]:图片剪切区内的坐标.若省略,则为0 [,width2][,height2]:图片的源宽度和高度. [,width2][,height2]:图片的源宽度和高度. 通过设置width和height属性为负,可以实现图像的翻转 通过设置width和height属性为负,可以实现图像的翻转
图片的加载
方法有两种: 方法有两种:
设计阶段加载 运行阶段加载 通过在代码窗口编写程序实现. LoadPicture语句. 通过在代码窗口编写程序实现.用LoadPicture语句.格式 Object.Picture=LoadPicture(PathName) PathName表示图片所在的路径. PathName表示图片所在的路径.若图片保存在程序的路径 下,可用LoadPicture(App.Path & ”\图片名”),若不在一个 可用LoadPicture(App.Path 图片名”),若不在一个 路径下, 路径下,要用完整的路径。如; Private Sub Picture1_Click() Picture1.Picture = LoadPicture("E:\单机游戏 LoadPicture("E:\ \QQ\NEWFACE\2.bmp") QQ\NEWFACE\ End Sub

picturebox的使用方式

picturebox的使用方式

picturebox的使用方式PictureBox是.NET Framework中的一种控件,用于在Windows窗体应用程序中显示图片。

以下是PictureBox的使用方式:1.添加PictureBox控件:在Visual Studio中,从工具箱拖拽PictureBox控件到窗体上。

2.加载图片:在设计阶段,可以通过Picture属性加载图片。

单击Picture属性后的“…”按钮,弹出“加载图片”对话框,选择所需的图片文件后加载。

另外,也可以在代码中通过LoadPicture函数加载图片。

例如:c#pictureBox1.Image = Image.FromFile("D:\\MyGif\\AniGif0562.gif");或c#pictureBox1.Image = new Bitmap("D:\\MyGif\\AniGif0562.gif");3.显示图片:通过PictureBox控件的SizeMode属性设置图片的显示模式。

SizeMode属性有9种模式,可以根据实际需求进行选择。

4.保存图片:可以通过访问PictureBox的Image属性,使用Bitmap类的Save方法将图片保存到文件中。

例如:c#pictureBox1.Image.Save("D:\\MyGif\\AniGif0562.gif",System.Drawing.Imaging.ImageFormat.Gif);5.删除图片:在设计阶段,可以通过按Delete键删除PictureBox控件,然后从工具箱拖拽一个新的PictureBox控件到窗体上。

或在属性对话框里的Picture属性,把“(位图)”这几个反白,或是移到“(”的最前端,按一下键盘的Delete键即可移除图片。

6.响应鼠标事件:可以通过编写事件处理程序,响应PictureBox控件的鼠标事件,例如单击、双击、鼠标移动等。

二是利用VB的picturebox和滚动条控件编程实现

二是利用VB的picturebox和滚动条控件编程实现

二是利用VB的picturebox和滚动条控件编程实现PICTUREBOX控件能支持许多种图像格式,但没有缩放功能并且不自动添加滚动条,所以必须自行编程实现。

应用程序使用两个图片框,一个作为包容器,可称之为父图片框,另一个作为子图片框显示图形,配合滚动条控件在父图片框内移动子图片框就可实现画面的滚动。

VB中提供了paintpicture方法,可以在窗体、图片框上的任何地方绘制图形,语法为object.PaintPicture picture, x1, y1, width1, height1, x2,y2, width2, height2, opcode,其中x1,y1为指定在object 上绘制picture的目标坐标;width1,height1 指定picture 的目标宽度和高度;x2,y2指定picture 内剪贴区的坐标width2,height2 指定picture 内剪贴区的源宽度和高度,当我们重新设定width1,height1时,就可以在子图片框内实现平滑的缩放图片。

虽然Paintpicture可以代替bitblt windows API函数,但没有API的执行速度快,如程序对速度的要求比较高,可用API函数代替paintpicture方法。

在窗体中先画出picture1作为父图片框,然后在其中中画出picture2,在窗体中再画出滚动条,picture2的autosize属性为TRUE,borderstyle属性为0,autoredraw属性为true,滚动条的largechange和smallchange属性设为合适大小,窗体既设置完毕。

以下为可以直接使用的完整程序,可以用光标键移动画面,也可以拖放方式移动画面;用加减号缩放画面。

Public c1, c2, c3, c4 As IntegerPublic tf, d1, d2, d3, d4, blf As IntegerPublic yk, yg As LongPrivate Sub Form_Load()c1 = Form1.Widthc2 = Form1.Heightblf = 100Picture2.Picture = LoadPicture("a:\ddd.jpg")yk = Picture2.Widthyg = Picture2.HeightEnd SubPrivate Sub Form_Resize()If Width > 1500 And Height > 1170 Thenc3 = Form1.Width - c1c4 = Form1.Height - c2Picture1.Move Picture1.Left, Picture1.Top, Picture1.Width + c3, Picture1.Height + c4 c1 = Form1.Widthc2 = Form1.HeightCall pEnd IfPicture2.SetFocusEnd Sub'以拖放方式滚动画面Private Sub Picture2_DragDrop(Source As Control, x As Single, y As Single)If Picture2.Height > Picture1.Height Then '通过计算鼠标移动位置,调用vscroll_change事件cccc = VScroll1.V alue + (d2 - y) '移动画面If cccc <= 0 Thencccc = 0End IfIf cccc >= VScroll1.Max Thencccc = VScroll1.MaxEnd IfVScroll1.V alue = ccccEnd IfIf Picture2.Width > Picture1.Width Thencccc1 = HScroll1.V alue + (d1 - x)If cccc1 <= 0 Thencccc1 = 0End IfIf cccc1 >= HScroll1.Max Thencccc1 = HScroll1.MaxEnd IfHScroll1.V alue = cccc1End IfEnd Sub'设置功能键,光标键移动画面,加减号缩放画面Private Sub Picture2_KeyDown(KeyCode As Integer, Shift As Integer)Select Case KeyCodeCase vbKeyLeftHScroll1.V alue = IIf(HScroll1.V alue - HScroll1.SmallChange < 0, 0, HScroll1.V alue - HScroll1.SmallChange)Case vbKeyRightIf Picture2.Width > Picture1.Width ThenHScroll1.V alue = IIf(HScroll1.V alue + HScroll1.SmallChange > HScroll1.Max, HScroll1.Max, HScroll1.V alue + HScroll1.SmallChange)End IfCase vbKeyUpVScroll1.V alue = IIf(VScroll1.V alue - VScroll1.SmallChange < 0, 0, VScroll1.V alue -VScroll1.SmallChange)Case vbKeyDownIf Picture2.Height > Picture1.Height ThenVScroll1.V alue = IIf(VScroll1.V alue + VScroll1.SmallChange > VScroll1.Max, VScroll1.Max, VScroll1.V alue + VScroll1.SmallChange)End IfCase vbKeyAddIf blf < 150 Thenblf = blf + 25Call fs(blf)End IfCase vbKeySubtractIf blf > 50 Thenblf = blf - 25Call fs(blf)End IfEnd SelectEnd SubPrivate Sub Picture2_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) d1 = xd2 = yPicture2.Drag 1Set Picture2.DragIcon = LoadPicture("a:\plane.ico")End SubSub p()'画面和滚动条重设置程序Picture2.Move 0, 0HScroll1.Top = Picture1.Height + Picture1.TopHScroll1.Left = Picture1.LeftHScroll1.Width = Picture1.WidthVScroll1.Top = Picture1.TopVScroll1.Left = Picture1.Width + Picture1.LeftVScroll1.Height = Picture1.HeightHScroll1.Max = (Picture2.Width - Picture1.Width)VScroll1.Max = (Picture2.Height - Picture1.Height)VScroll1.Visible = (Picture1.Height < Picture2.Height)HScroll1.Visible = (Picture1.Width < Picture2.Width)End SubPrivate Sub VScroll1_Change()Picture2.Top = -VScroll1.V aluePicture2.SetFocusEnd SubPrivate Sub HSCROLL1_Change()Picture2.Left = -HScroll1.V aluePicture2.SetFocusEnd SubSub fs(bl1 As V ariant) '画出缩放Dim bl As V ariantbl = bl1 / 100Form1.MousePointer = vbHourglassPicture2.Width = yk * blPicture2.Height = yg * blPicture2.RefreshPicture2.PaintPicture Picture2.Picture, 0, 0, yk * bl, yg * bl, 0, 0, yk, ygCall pIf VScroll1.Visible ThenVScroll1.V alue = IIf(VScroll1.V alue * bl > VScroll1.Max, VScroll1.Max, VScroll1.V alue * bl) End IfIf HScroll1.Visible ThenHScroll1.V alue = IIf(HScroll1.V alue * bl > HScroll1.Max, HScroll1.Max, HScroll1.V alue * bl) End IfForm1.MousePointer = vbDefaultEnd Sub一、数据库的设计数据库可以采用微软的Access97或者SQL Server来进行,首先新建一张表,取名为Table,添加三个字段,分别是:姓名Char型(SQL Server中)文本型(Access中);编号Char型(SQL Server中)文本型(Access中);照片image型(SQL Server中)OLE对象(Access 中),设计好后存盘。

vb-12

vb-12
False:根据装入的图像的大小调整影像框的大小 True:装入的图像能自动缩放以适应影像框的大小
与图片框控件对比:示例
图片框/影像框控件
常用事件:
Click、 MouseDown、MouseUp等 具体使用时掌握
共同点:显示图片 不同点:
容器及输出图形(图片框)
使用:
工具栏、任务栏框架(图片框) 图形命令按钮(影像框)
图片框的常用属性
示例
Picture属性:设置图片框的图像 属性窗口中设置 程序中设置 图片框名.Picture=LoadPicture("图片文件名") 图片框名.Picture=其他对象.Picture 清除图片 图片框名.Picture=LoadPicture("") AutoSize属性:True|False 当取True时,图片框根据图片调整自身大小 可以加载的图片文件(P153)
如何使文件列表框的当前路径应随 目录改变而同步改变?
什么事件:
B
A:文件列表框的Change事件 B:目录列表框的Change事件 C:文件列表框的Click事件 D:目录列表框的Click事件
如何实现同步变化
A:文件列表框名 . Drive =目录列表框名. Path
B:目录列表框名. Path =文件列表框名. Path
FileListBox
Path Pattern FileName
联合使用三个文件控件
当一个控件发生改变后立即刷新其他控件
考虑:在资源管理器中如何选定一个文件
Why

Drive
Change
目 录
Path
文 件
在驱动器列表框的Change事件中设置目录列

Visual Basic 程序设计基础:第六章 图形控件和图形方法

Visual Basic 程序设计基础:第六章 图形控件和图形方法
定一个坐标系
0
X
ScaleLeft= -30 ScaleTop= -50 ScaleWidth=100 ScaleHeight=110
Y
(70,60)
0
X
ScaleLeft=0 ScaleTop=0 ScaleWidth=50 ScaleHeight=-60
(50,-60)
16
例、通过ScaleTop,ScaleLeft,ScaleWidth和ScaleHeight
29
6.3.2 线宽、线型与填充模式
1.设置线宽——DrawWidth 属性
窗体、图形框或打印机的DrawWidth属性给出这些对象上 所画线的宽度或点的大小。例如:
Form1.DrawWidth = 2
(宽度为2个象素)
缺省值为 1,即一个像素宽。
30
2. 设置线型——DrawStyle 属性
End Sub
例:点击按钮,使Shape1对象移动。
Private Sub Command1_Click() If Shape1.Left >=
Form1.Width Then Shape1.Left = -
Shape1.Width Shape1.Left =
Shape1.Left + 1000 Else Shape1.Left =
6.1 图形控件
2、Image控件(影像框控件)
主要作用:显示图片。
影像框比图片框占用的内存少,所以速度 较快。
影像框内不能使用Print、Pset、Line、 Circle等方法进行绘图和输出文本,影像 框也不能作为其他控件的容器。
6
2、Image控件(影像框控件)
除了Picture属性之外,Image控件的一个很 重要的属性:Stretch

VB教程:图片框(PictureBox)

VB教程:图片框(PictureBox)

VB教程:图片框(PictureBox)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属性可以很快地在窗体的顶部或底部创建工具栏或状态栏。

VB中PictureBox控件的用法

右图,PictureBox对象可以说是任何对象的原始型态,它可以加载图片、显示文字、画图外,它还能与Frame对象一样,在自己本身里头加载其它的对象而自成一个小群组,用PictureBox可以仿真出任何对象的外观,PictureBox是VB基本控件里变化最多,功能最多,也是令人最想去征服它的一个物件。

●PictureBox与Frame对象一样,本身都能装载其它的对象而自己形成一个对象群组。

●如果要拿PictureBox装载对象时,可以把它视为Frame来使用。

●与Image对象一样在设计阶段时,以Picture属性来加载图片。

●与Image对象一样都是在属性对话窗口按一下〝...〞钮后,跳出〝加载图片〞对话框,选择所要的图档,然后加载。

●在执行阶段,可以用VB的函数来帮PictureBox加载图片:Command1_Click()Picture1.Picture = LoadPicture("E:\MyGif\AniGif0562.gif")End Sub●在设计阶段,若后悔加载图片,想把它消除时,可以把PictureBox按Delete键删掉,然后从工具箱拖曳一个新的PictureBox,或是在属性对话框里的Picture属性,把〝(位图)〞这几个反白,或是移到〝(〞的最前端,按一下键盘的Delete键即可移除图片。

●若在执行阶段,想把PictureBox内的图片移除,可再用LoadPicture函数,并且传空字符串给它:Private Sub Command1_Click()Picture1.Picture = LoadPicture("")End Sub●在PictureBox里画图:●PSet方法:PSet不只是用在PictureBox上,也可以用在窗体上,PSet最主要功用用就是在某一点位置上画一个点,用法是Object.PSet(X,Y), Color:Private Sub Command1_Click()Picture1.PSet(500,260),RGB(128,0,255)'RGB函数是以红色、绿色、蓝色来表示颜色,详情请到函数指令参考End Sub●若颜色省略,则以PictureBox预设的颜色。

vb中image与picturebox控件的一些应用技能本文档[攻略]

VB中Image与PictureBox控件的一些使用技巧本文档有些初学VB的同学对一些控件的属性方法也了解了一些,但是当真的想用他们解决一些实际的问题时却又找不到有效的办法.经常是脑子里有了很好的创意但是在用程序实现时却遇到了这样与那样的问题.这的确叫人郁闷,我在学习的过程中同样遇到了不少这样的问题,因此我想给出几个小的技巧供同学们参考,希望叫那些初出茅庐的同学少走些弯路.当我在使用Image与PictureBox控件时遇到了一些困难,经过同学的指点与自己的研究,有了一点小小的收获,想拿出来与大家探讨一下.我想,假如要很灵活的运用这两个控件你就必须了解这两个控件的特点与常用属性和方法.如果你是一个VB初级用户的话,那么看下面的一段应该说是必要的,要是你已经对这些很熟悉了,可以略过他.图像框(Image)和图片框(PictureBox)都是用于显示图形,可以显示.bmp;.ico;.wmf; .jpg;.gif等类型的文件.图片框不仅可以显示图像,还可以作为其他控件的容器,因此PictureBox控件比Image 控件功能更强.一些属性:(1)Picture属性:用于设置在图像框与图片框重要显示的图像文件名.科在设计是通过属性或在运行时调用LoadPicture函数来设置.例如: Picture1.Picture=LoadPicture("D:\Pic\Girl.jpg")(2)Align属性Align属性用于设置图片框再窗体中的显示方式.0(默认)无特殊显示,1为与窗体一样宽,位于窗体顶端;2为与窗体一样宽,位于窗体底端;3为与窗体一样高, 位于窗体左端;4为与窗体一样高,位于窗体右端.(3)Image的Stretch属性Stretch属性用于确定图像框如何与图片相适合.True为图像将适应图像框的大小,False为图像框将适应图像的大小.(4)图片框的AutoSize属性AutoSize属性用于确定图片框如何与图像相适应.False为保持原始尺寸,当图形比图片框大时,超出的部分被截去,True为图片框根据图形大小自动调整,也就是说图片多大,图片框就变成多大.下面我就基于这两个控件介绍两个很简单的技巧:(一)如何实现对于过大图片的按比例缩小有的同学看到这里可能就会问缩小一副图片只要将Image的Stretch属性设为True不就行了吗.话随这样说,但是仔细想一下这样不可能实现将一副图片按照相同的比例缩小.因为图像框的大小不能保证和图片是成比例的.那么用什么方法解决这个问题呢?应该用Move方法解决.其实Move方法可以用在很多控件中,甚至数据库控件中也有它的身影.但我只介绍一下他在本问题里的应用.Move方法既可用于Image控件又可用于PictureBox控件中.他的用法为:对象.Move Left,Top,Width,Hight其中"对像"为要使用的控件名,这里可以是Image1或PictureBox1."Left,Top"分别为对象左上角在所在容器的坐标,"Width,Hight"为对象的宽和高.现在知道了这个方法那么实现图片的按比例缩小就显得很简单了.我们可以将图片放于一个Image或者PictureBox中,然后用Move语句设置图片的位置,与缩小的比例.但还需要一个步骤,你还要求出图片的宽度与高度才能按照你规定的比例缩小.求图片的宽和高可用下面的语句: Image1.Picture.Width, Image1.Picture.Height.可求出他们.现在大功告成了,图片可以缩小了.缩小时可用下面的语句:Image1.Move4320,240,Val(Image1.Picture.Width)/3,Val(Image1.Picture.Hei ght)/3'4320,240为图片的左上坐标.将图片缩小1/3.(二)如何实现图片的拖动上面的例子其实很简单,但假如你想不到Move的话就不那么好办了.下面的技巧同样很简单,但是要实现图片的拖动就不得不使用MouseDown, MouseUp,MouseMove三个事件.现在我们先分析一下图片拖动的过程.首先你要用鼠标拖动一副图时下按下了鼠标左键,这就触发了MouseDown事件.当你拖住鼠标并移动鼠标时就触发了MouseMove事件,拖动完毕放开左键时又触发了MouseUp事件.下面我先介绍一下这三个事件:MouseUp和MouseDown用法一样MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)变量Button决定鼠标哪个键被按下.1--鼠标左键按下 2--鼠标右键按下 4--鼠标中键按下变量Shift提供鼠标键按下时SHIFT,Ctrl,Alt件组合的代码:No key pressed0Shift 1Shift+Ctrl3Shift+Alt 5Alt 4Alt+Ctrl6Ctrl2Shift+Ctrl+Alt7X,Y:控件或窗体的当前位置坐标--MouseDown,MouseUp事件触发的水平和垂直位置.MouseMove 用法MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Button,Shift参数与前面的相似,这里不再赘述.X,Y为MouseMove触发时鼠标的水平和垂直位置.下面用一段例程说明如何用这三个元素实现图片的拖动:Dim xp As IntegerDim yp As IntegerDim xz As IntegerDim yx As IntegerPrivate Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Button = 1xp = Xyp = YImage1.MousePointer = 7End SubPrivate Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)If xp <> 0 And yp <> 0 ThenImage1.Left = Image1.Left + (X - xp)Image1.Top = Image1.Top + (Y - yp)End Ifxz = Image1.Leftyz = Image1.TopEnd SubPrivate Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Button = 1xp = yp = 0Image1.MousePointer = 0End Sub。

picturebox控件用法 -回复

picturebox控件用法-回复关于PictureBox控件的用法,我们一步一步来进行详细解析。

首先,PictureBox控件是Windows Forms中常用的一个控件,它用于在窗体上展示图片。

通过该控件,我们可以在界面中加载、显示和管理图片。

1. 创建PictureBox控件:要使用PictureBox控件,首先需要在窗体上创建一个PictureBox控件。

在Visual Studio中,可以通过拖拽方式将PictureBox控件放置于窗体中。

2. 设置PictureBox控件的属性:对于PictureBox控件,我们可以通过设置其各种属性来控制显示效果。

以下是一些常用的属性:- Image:设置PictureBox中要显示的图片。

可以通过指定图片文件路径或者使用Image类加载图片。

- SizeMode:设置图片在PictureBox中的显示方式,包括自动尺寸、拉伸、居中等等。

- BorderStyle:设置PictureBox的边框样式,包括无边框、固定单线边框、三维边框等。

- BackColor:设置PictureBox的背景颜色。

3. 加载图片:一旦PictureBox控件创建并设置好属性,我们可以通过编程方式加载图片。

例如,可以使用Image类将图片加载到PictureBox中:csharppictureBox1.Image = Image.FromFile("image.jpg");或者,可以使用OpenFileDialog控件让用户选择图片文件:csharpOpenFileDialog openFileDialog1 = new OpenFileDialog();if (openFileDialog1.ShowDialog() == DialogResult.OK){pictureBox1.Image =Image.FromFile(openFileDialog1.FileName);}4. 显示图片:一旦图片加载到PictureBox中,控件会自动显示该图片。

vb使用picturebox画曲线图

Option ExplicitDim lngCenter As LongDim lngMax As LongDim lngPad&Dim PCurrent As POINT, PLast As POINTPrivate Type POINTx As Longy As LongEnd TypePrivate Sub Form_Load()lngCenter = (Picture1.Top + Picture1.Height) / 2lngMax = Picture1.HeightPLast.x = 0PLast.y = lngCenterDim i&For i = 0 To Picture1.Width Step 100Picture1.Line (i, 0)-(i, Picture1.Height), &HFFC0C0 NextFor i = 0 To Picture1.Height Step 100Picture1.Line (0, i)-(Picture1.Width, i), &HFFC0C0 NextPicture1.DrawWidth = 1.5Picture1.Line (0, lngCenter)-(Picture1.Width, lngCenter), vbBlue Picture1.DrawWidth = 1End SubPrivate Sub Timer1_Timer()PCurrent.x = PCurrent.x + 50RandomizePCurrent.y = Rnd * lngMaxPicture1.Line (PCurrent.x, PCurrent.y)-(PLast.x, PLast.y), vbRed PLast.x = PCurrent.xPLast.y = PCurrent.yEnd SubPrivate Sub Command1_Click()Timer1.Enabled = Not Timer1.EnabledEnd SubOption ExplicitDim lngCenter As LongDim lngMax As LongDim lngPad&Dim PCurrent As POINT, PLast As POINTPrivate Type POINTx As Longy As LongEnd TypePrivate Sub Form_Load()lngCenter = (Picture1.Top + Picture1.Height) / 2PLast.x = 0PLast.y = lngCenterDim i&For i = 0 To Picture1.Width Step 100Picture1.Line (i, 0)-(i, Picture1.Height), &HFFC0C0 NextFor i = 0 To Picture1.Height Step 100Picture1.Line (0, i)-(Picture1.Width, i), &HFFC0C0 NextPicture1.Line (0, lngCenter)-(Picture1.Width, lngCenter), vbBlue Picture1.DrawWidth = 1End SubPrivate Sub Timer1_Timer()PCurrent.x = PCurrent.x + 50RandomizePCurrent.y = Rnd * lngMaxPicture1.Line (PCurrent.x, PCurrent.y)-(PLast.x, PLast.y), vbRedEnd SubPrivate Sub Command1_Click()End Sub效果图:如果需要带有点规律性可以将获得y的坐标稍加处理下:Private Function getRndY() As IntegerDim lngTmp%If intRnd = 0 ThenRandomizeintRnd = Rnd * 3 + 1End IfRandomizelngTmp = Rnd * lngCenterIf PLast.y > lngCenter ThengetRndY = lngCenter + lngTmpElsegetRndY = lngTmpEnd IfintCurRnd = intCurRnd + 1If intCurRnd > intRnd ThenRandomizeintRnd = Rnd * 3 + 1getRndY = Rnd * lngMaxintCurRnd = 0End If。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB中PictureBox控件使用教程PictureBox对象可以说是任何对象的原始型态,它可以加载图片、显示文字、画图外,它还能与Frame对象一样,在自己本身里头加载其它的对象而自成一个小群组,用PictureBox可以仿真出任何对象的外观,PictureBox是VB基本控件里变化最多,功能最多,也是令人最想去征服它的一个物件。

●PictureBox与Frame对象一样,本身都能装载其它的对象而自己形成一个对象群组。

●如果要拿PictureBox装载对象时,可以把它视为Frame来使用。

●与Image对象一样在设计阶段时,以Picture属性来加载图片。

●与Image对象一样都是在属性对话窗口按一下〝...〞钮后,跳出〝加载图片〞对话框,选择所要的图档,然后加载。

●在执行阶段,可以用VB的函数来帮PictureBox加载图片:
Command1_Click()
= LoadPicture("E:\MyGif\")
End Sub
●在设计阶段,若后悔加载图片,想把它消除时,可以把PictureBox按Delete键删掉,然后从工具箱拖曳一个新的PictureBox,或是在属性对话框里的Picture属性,把〝(位图)〞这几个反白,或是移到〝(〞的最前端,按一下键盘的Delete键即可移除图片。

●若在执行阶段,想把PictureBox内的图片移除,可再用LoadPicture函数,并且传空字符串给它:
Private Sub Command1_Click()
= LoadPicture("")
End Sub
--------------------------------------------------------------------------------
●在PictureBox里画图:
●PSet方法:PSet不只是用在PictureBox 上,也可以用在窗体上,PSet最主要功用
用就是在某一点位置上画一个点,用法是(X,Y), Color:Private Sub Command1_Click() (500,260),RGB(128,0,255)
'RGB函数是以红色、绿色、蓝色来表示颜色,详情请到函数指令参考
End Sub
●若颜色省略,则以PictureBox预设的颜色。

●前面有学到随机数的运用,因此我们来做个范例看看,范例─满天繁星:Private Sub Timer1()_Timer
Randomize
X = Int(Rnd *
Y = Int(Rnd *
R = Int(Rnd * 256)
G = Int(Rnd * 256)
B = Int(Rnd * 256)
(X, Y), RGB(R, G, B)
End Sub
●Line方法:Line方法专门用来画直线的工具,在窗体上也可以使用,用法:(X1,Y2)-(X2,Y2), Color, BF
●Color在Line里与PSet一样是可以被省略的,在Color后方,若是加入B则画出的不是线条,而是一个空心矩形,若是BF,则画出来的是实心矩形。

Private Sub Command1_Click()
(50,50)-(500,750)
End Sub
Private Sub Command1_Click()
(50,50)-(500,750), ,B
End Sub
Private Sub Command1_Click()
(50,50)-(500,750), ,BF
End Sub
●Circle方法:Circlr方法专门用来画圆,窗体上也是可以使用,用法:(X,Y), R, Color,起始角度,终止角度,椭圆率
Private Sub Command1_Click()
(1000, 1000), 800
End Sub
Private Sub Command1_Click()
Const PI =
(1000, 1000), 800, , PI / 4, 3 * PI / 4
End Sub
●若是设定起始角度与终止角度,画出来的圆会变成弧,而角度单位使用的是弧度,也就是说,180。

=...对于没有学过弧度的网友来说,可能是难了点。

Private Sub Command1_Click()
Const PI =
(1000, 1000), 800, , -PI / 4, -3 * PI / 4
End Sub
●若是起始角或终止角使用负数,它们还由由圆心画直线到起始角或终止角,这样就可以画出扇形。

Private Sub Command1_Click()
(1000, 1000), 800, , , ,
End Sub
●椭圆率则是圆的Y轴与X轴的比值,也就是Y/X,可以画出椭圆形。

●范例:在PictureBox里,拖曳产生一个圆
(一般)
Dim Dx As Single, Dy As Single
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Dx = X
Dy = Y
End If
End Sub Private Sub
Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
(Dx, Dy)-(X, Y)
(Dx, Dy), (((Dx - X) ^ 2 + (Dy - Y) ^ 2) ^ End If
End Sub Private Sub
Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
= True
(Dx, Dy), (((Dx - X) ^ 2 + (Dy - Y) ^ 2) ^
= False
End If
End Sub
●Cls方法:Cls方法,就是清除屏幕上对象所在范围的内容,窗体也适用,若已存在内存里的内容,则无法消除,用法:,范例在上面的画圆范例里。

●Point方法:Point就是读取PictureBox 某一点上的颜色数值,传回值是长整数型态,在窗体上也适用,用法:传回值= 。

Private Sub Picture1●AutoRedraw属性:上面的PSet、Line、Circle是VB所提供的,画图在屏幕上的方法,因此只要对象移出屏幕外,或是对象被其它窗口或对象给盖着,刚才所画的图会不件,若在绘图时,把AutoRedraw设为True,则可把图绘入内存,即使用Cls方法也清除不掉,范例在上面的画圆范例里头。

●想要把用VB函数在PictureBox里所画的图给存起来时(把AutoRedraw设为True 时所绘的图才能存盘),VB提供了
SavePicture方法,用法是SavePicture ,档名。

Private Sub Command1_Click() SavePicture , "C:\Windows\Temp\"
End Sub
●SavePicture只能存BMP格式的档按,请别异想天开把扩展名改成JPG或GIF,存起来的图仍是BMP格式的图。

●PaintPicture方法:PaintPicture方法,可以把某个物计内的图转贴到另一个物件上,但要有一个前题,这个图是用Picture 属性加载进来的图才可以,用法来源对象.Picture, , ,图在Object上的宽度,图在Object上的高度,来源对象X起始位置,来源对象起始Y位置,来源对象上的宽度,来源对象上的高度,贴图模式
Private Sub Command1_Click()
, 0, 0
'原尺寸转印
End Sub
●若是改变了图在Object上的宽与高,可以改变图形的缩放Private Sub Command1_Click()
, 0, 0, 750, 600
End Sub
●Picture2内的图被放大转贴到Picture1里。

●至于贴图模式,留在其单元里的特殊功能里讨论
●Print方法:Print可以在PictureBox上打印文字,窗体也适用,用法:资料。

Private Sub Command1_Click()
MyLng = 1234567
"今天天气真好"
"MyLng = " & MyLng
End Sub
●CurrentX与CurrentY属性,设定或传回目前PictureBox上画笔所在的位置,窗体也适用。

Private Sub Command1_Click()
= 500
= 350
"今天天气真好" End Sub。

相关文档
最新文档