如题。我看过别人的一些代码,大多是将PictureBox的边框进行缩放,而不是我想要的边框不变,而是控件装载图形的放大、缩小和平移,并且在平移的时候鼠标能呈现一只小手形状。

解决方案 »

  1.   

    这个都是用image控件显示的.就是先画一个PictureBox,然后再在它里面画一个image控件,用image控件来显示图片,这样就可以放大、缩小和平移图片了
      

  2.   

    因为对Image控件不熟悉,怎么进行放大、缩小呢?
      

  3.   

    将Image控件的Stretch属性设为true就可以了.
    你拉大这个控件的时候,它的图片会自动增大的.
      

  4.   

    不难哦,只要移动里面的imageBOX就行了。
      

  5.   

    Dim ix As Long
    Dim iy As LongPrivate Sub Form_Load()
    Image1.Left = 0
    Image1.Top = 0
    End SubPrivate Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Me.MousePointer = 15
    If Button = vbLeftButton Then
    ix = X
    iy = Y
    Else: PopupMenu zoom
    End If
    End SubPrivate Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim ipx As Long
    Dim ipy As Long
    If Button = vbLeftButton Then
    ipx = Image1.Left + X - ix
    ipy = Image1.Top + Y - iy
    If ipx > 0 Then
    Image1.Left = 0
    Else
    If ipx < Picture1.Width - Image1.Width Then
    ipx = Picture1.Width - Image1.Width
    Else
    Image1.Left = ipx
    End If
    End If
    If ipy > 0 Then
    Image1.Top = 0
    Else
    If ipy < Picture1.Height - Image1.Height Then
    ipy = Picture1.Height - Image1.Height
    Else
    Image1.Top = ipy
    End If
    End If
    End If
    End SubPrivate Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Me.MousePointer = 0
    End Sub
    Private Sub zoomin_Click()
    Image1.Width = Image1.Width / 2
    Image1.Height = Image1.Height / 2
    End SubPrivate Sub zoomout_Click()
    Image1.Width = Image1.Width * 2
    Image1.Height = Image1.Height * 2
    End Sub
      

  6.   

    谢谢!已经实现了,不过怎么让移动的时候能出现类似一只小手的图标呢?
    我找到了这样的图标,并且设置img.DragIcon属性为小手图标,为什么在拖动的时候不出现呢?
      

  7.   

    自己已经解决了,谢谢大家!
    我设置Me.MousePointer = 99
    并且设置了Me.MouseIcon 为小手图标。