PictureBox控件几个简单属性

图像框(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.Move 4320,240,Val(Image1.Picture.Width)/3,Val(Image1.Picture.Height)/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 pressed      0  Shift                 1
  Shift+Ctrl          3  Shift+Alt             5
  Alt                 4  Alt+Ctrl              6
  Ctrl                2  Shift+Ctrl+Alt        7

  X,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 Integer
  Dim yp As Integer
  Dim xz As Integer
  Dim yx As Integer

Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Button = 1
  xp = X
  yp = Y
  Image1.MousePointer = 7
End Sub

Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If xp <> 0 And yp <> 0 Then
    Image1.Left = Image1.Left + (X - xp)
    Image1.Top = Image1.Top + (Y - yp)
  End If
  xz = Image1.Left
  yz = Image1.Top
End Sub

Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Button = 1
  xp = yp = 0
  Image1.MousePointer = 0
End Sub 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值