最全的VB 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控件大全属性详解 图像组合框

VB控件大全属性详解   图像组合框
Font
字型。可从弹出的对话框选择字体,大小和风格
ForeColor
前景颜色。可从弹出的调色板选择。
Height
图像组合框(ImageCombo)控件的高度
HelpContextID
指定一个对象的缺省帮助文件上下文标识符
Indentation
新添加项目文本的默认缩进间隔数。每一缩进等于10像素
Index
TabStop
设置是否可以用"Tab"键选取此对象。取值为:
True可以
False不可以
Tag
存储程序所需的附加数据
Text
获得或设置控件中包含的文本
ToolTipText
设置该对象的isible
设置此对象的可见性。取值为:
True该对象可见
False该对象不可见
WhatsThisHelpID
获得或设置与对象相关联的上下文号
Width
图像组合框(ImageCombo)控件宽度
DataSource
设置一个数值,指出数据控件通过它将当前控件绑定到数据库
DragIcon
该对象在拖动过程中鼠标的图标
DragMode
该对象的拖动模式。取值为:
0 vbManual(手动)
1 vbAutomatic(自动)
Enabled
用于设定是否对事件产生响应。取值为:
True可用
False不可用。在执行程序时,该对象用灰色显示,并且不响应任何事件
0 ccOLEDragManual(手动)
1 ccOLEDragAutomatic(自动)
OLEDropMode
获得或设置该对象是否能作为一个OLE放置目标。取值为:

VB教案(13)图片框(PictureBox)

VB教案(13)图片框(PictureBox)

VB教案(13)图片框(PictureBox)(十三)图片框(PictureBox)用于在运行中执行画图的方法,故占用资源较多。

也可显示图形和写入文本,用途比较灵活。

一.图片框的属性:1.N ame属性:2.P icture属性:在设计时通过属性窗口加载指定的图片文件。

加载后会产生一个.FRX的文件存放图片。

3.A utoRedraw属性:设为True时:自动重绘有效。

图形和文本存在内存中,图片框重现或移动时,图形和文本会自动刷新。

设为False时:重绘功能无效。

图形和文本仅输出到屏幕上,并未存入内存,图片框移动或重现时,不能刷新。

4.A utoSize属性:设为True时:图片框会自动调整大小来适应图片文件的尺寸。

当然图片大小超出窗体大小时,也会被裁剪掉右边和底部的超出部分。

设为False时:图片框大小保持不变,图片的超出部分会被从右边和下边裁剪掉。

5.C urrent X和Current Y属性:决定当前的绘图位置坐标,或返回当前位置的坐标值。

6.F illColor属性:决定闭合图形中填充图案的颜色。

7.F illStyle属性:决定闭合图形中填充图案的类型。

0:实心图形。

颜色由FillColor属性决定。

1:(缺省)透明。

2:水平线。

3:垂直线。

4:向上对角线。

5:向下对角线。

6:十字交叉线。

7:对角交叉线。

8.B ackColor和ForeColor属性:9.B orderColor属性:决定边框的颜色。

10.FontTransparent属性:设为True时:文字的周围是透明的。

(当文字和图形重叠时仅感觉文字写在图形上)设为False时:文字的周围不透明。

(当文字和图形重叠时文字以一方块区叠在图形上)11.Align属性:决定图片框在窗体上的大小显示方式和显示的位置。

0:可以在设计时或在程序中确定图片框的大小和位置。

1:图片框显示在窗体顶部。

2:图片框显示在窗体底部。

3:图片框显示在窗体的左边。

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中image与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控件的用法,我们一步一步来进行详细解析。

首先,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中用PictureClip控件实现动画

′定义变量a的初始值和定时控件的时间间隔属性
a=1
Timer1.Interval=100
End Sub
Private Sub Timer1_Timer()
′每发生一次Timer事件时改变变量a的值
a=a+1:If a=18 Then a=0
下面我们以VB50为例,具体的来介绍使用PictureClip控件实现动画。
首先,我们应该确定工具箱中有PictureClip控件,如果没有,我们应通过工程菜单的“部件”来添加PictureClip控件。
有了PictureClip控件后,在窗体上添加PictureClip控件。按F4键显示属性窗口,双击“自定义”属性则出现一个“属性页”对话窗口。选取“图片”项,单击“浏览”选定一个图片。一般情况下此图片应是若干个大小相同的小图片组成。我们以VB例程中的REDTOPBMP为例,选取一个图片后我们在“预览”框中就可以看见图片全貌。我们发现REDTOPBMP图片由三行六列共18个小图片组成,选择“通用属性”项,根据我们的上述发现,定义好“行”、“列”的值,划分好图形区域。
Dim a As Integeub Form_Load()
′指定picture1的图形为PictureClip控件中的第二个图形区域
picture1.picture=PictureClip1.GraphicCell(1)
此时我们在窗体上就可以看见REDTOP图片。在运行时PictureClip控件是不可见的,所以不需要理会PictureClip控件的位置。
在以后的过程中,我们可以将一图形显示控件,调整大小,放在窗体中指定的位置,将PictureClip控件中指定区域,赋值给显示控件的picture属性,便可以显示图形了,设PictureClip控件区域值为一变量,在定时控件中,用循环语句改变此变量,就可以实现动画了。例程如下:

VB中PictureBox控件使用方法

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预设的颜色。

利用picturebox控件动态显示图像

利用picturebox控件动态显示图像(程序在最后)using System;using ;using ponentModel;using System.Data;using System.Drawing;using System.Text;using ;namespace PictureBox控件{public partial class Form1 : Form{public Form1(){InitializeComponent();}Bitmap MyBitmap;private void button1_Click(object sender, EventArgs e){;if ( == "")return;try{Bitmap SrcBitmap = new Bitmap(;MyBitmap = new Bitmap(SrcBitmap, , ;= MyBitmap;}catch (Exception Err){MessageBox.Show(this, "打开图像文件出错!", "信息提示", MessageBoxButtons.OK, rmation);}}private void button2_Click(object sender, EventArgs e){int iWidth = ;int iHeight = ;Graphics g = ;g.Clear(Color.Gray);Bitmap bitmap = new Bitmap(iWidth, iHeight);int x = 0;while (x <= iWidth / 2){for (int i = 0; i < iHeight - 1; i++){bitmap.SetPixel(x, i, MyBitmap.GetPixel(x, i));}for (int i = 0; i <= iHeight - 1; i++){bitmap.SetPixel(iWidth - x - 1, i, MyBitmap.GetPixel(iWidth - x - 1, i)); }x++;;= bitmap;}}private void button3_Click(object sender, EventArgs e){int iWidth = ;int iHeight = ;Graphics g = ;g.Clear(Color.Gray);Bitmap bitmap = new Bitmap(iWidth, iHeight);int x = 0;while (x <= iHeight / 2){for (int i = 0; i < iWidth - 1; i++){bitmap.SetPixel(i, x, MyBitmap.GetPixel(i, x));}for (int i = 0; i <= iWidth - 1; i++){bitmap.SetPixel(i, iHeight - x - 1, MyBitmap.GetPixel(i, iHeight - x - 1)); }x++;;= bitmap;}}private void button4_Click(object sender, EventArgs e){int iWidth = ;int iHeight = ;Graphics g = ;g.Clear(Color.Gray);for (int y = 0; y <= iHeight; y++){g.DrawImage(MyBitmap, 0, 0, iWidth, y);}}private void button5_Click(object sender, EventArgs e){int iWidth = ;int iHeight = ;Graphics g = ;g.Clear(Color.Gray);for (int y = 0; y <= iWidth ; y++){g.DrawImage(MyBitmap, 0, 0, y,iWidth);}}private void button9_Click(object sender, EventArgs e){this.Close();}private void button6_Click(object sender, EventArgs e){int iWidth = ;int iHeight = ;Graphics g = ;g.Clear(Color.Gray);for (int y=0; y <= iWidth / 2; y++){Rectangle DestRect = new Rectangle(iWidth / 2 - y, 0, 2 * y, iHeight);Rectangle SrcRect = new Rectangle(0, 0, MyBitmap.Width, MyBitmap.Height);g.DrawImage(MyBitmap, DestRect, SrcRect, GraphicsUnit.Pixel);}}private void button7_Click(object sender, EventArgs e){int iWidth = ;int iHeight = ;Graphics g = ;g.Clear(Color.Gray);for (int y = -iWidth / 2; y <= iWidth / 2; y++){Rectangle DestRect = new Rectangle( 0,iWidth / 2 - y, iHeight,2 * y );Rectangle SrcRect = new Rectangle(0, 0, MyBitmap.Width, MyBitmap.Height);g.DrawImage(MyBitmap, DestRect, SrcRect, GraphicsUnit.Pixel);}}private void button8_Click(object sender, EventArgs e){int iWidth = ;int iHeight = ;Graphics g = ;g.Clear(Color.Gray);for (int y = 0; y <= iWidth / 2; y++){Rectangle DestRect = new Rectangle(iWidth / 2 - y,iHeight /2-y , 2 * y, 2*y);Rectangle SrcRect = new Rectangle(0, 0, MyBitmap.Width, MyBitmap.Height);g.DrawImage(MyBitmap, DestRect, SrcRect, GraphicsUnit.Pixel);}}}}注:(由于有几个不好截屏,所以就没有给出图像)。

VB控件大全属性详解 图片框

填充样式, 有8种可选:
0 全部填充
1 透明,此为默认值
2 水平直线
3 竖直直线
4 上斜对角线
5 下斜对角线
6 十字线
7 交叉对角线
Font
字型,可从弹出的对话框选择字体,大小和风格
FontTransparent
输出数据是否允许重叠(获得或设置一个值,决定是否显示窗体,打印机或PictureBox上的背景文本/图形)。取值为:
True 发生
False 不发生
ClipControls
决定Paint事件的graphics方法是重画整个对象,还是重画新显示的区域。取值为:
True或False
DataField
获得或设置一个值,将控件绑定到当前记录的一个字段
DataFormat
返回数据格式对象,用于该部件的可绑定性(打开属性页)
1 表示单位为twip(缇),每英寸=1440缇,每厘米=567缇
2 表示单位为point(磅) ,每英寸=72磅,每磅=20缇
3 表示单位为像素,是监视器或打印机分辨率的最小单位
4 表示单位为字符,每个水平单位为120缇,每个垂直单位为240缇
5 表示单位为in(英寸)
6 表示单位为mm(毫米)
7 表示单位为cm(厘米)
RightToLeft
文本书写是否自左向右。取值为:
True
False 自右向左
ScaleHeight
自定义坐标系的纵坐标轴的高度
ScaleLeft
自定义坐标系的左边界起点的横坐标
ScaleMode
获得或设置一个值,指示当使用graphics方法或可定位的控件时,自定义坐标系的单位, 有8种可选:
0 自定义
  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()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预设的颜色。

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

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

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

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

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

●范例:在PictureBox里,拖曳产生一个圆(一般)Dim Dx As Single, Dy As SinglePrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 ThenDx = XDy = YEnd IfEnd Sub Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 ThenPicture1.ClsPicture1.Line (Dx, Dy)-(X, Y)Picture1.Circle (Dx, Dy), (((Dx - X) ^ 2 + (Dy - Y) ^ 2) ^ 0.5)End IfEnd Sub Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 ThenPicture1.ClsPicture1.AutoRedraw = TruePicture1.Circle (Dx, Dy), (((Dx - X) ^ 2 + (Dy - Y) ^ 2) ^ 0.5) Picture1.AutoRedraw = FalseEnd IfEnd Sub●Cls方法:Cls方法,就是清除屏幕上对象所在范围的内容,窗体也适用,若已存在内存里的内容,则无法消除,用法:Object.Cls,范例在上面的画圆范例里。

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

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

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

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

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

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

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

Private Sub Command1_Click()Picture1.CurrentX = 500Picture1.CurrentY = 350Picture1.Print "今天天气真好"End Sub。

相关文档
最新文档