首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

请教在一个控件里如何实现另一个控件移动到任意位置

2013-07-24 
请问在一个控件里怎么实现另一个控件移动到任意位置?比如手我放置了张图片,然后在图片中放置了个按键,当我

请问在一个控件里怎么实现另一个控件移动到任意位置?
比如手我放置了张图片,然后在图片中放置了个按键,当我选中这个按键后如何才能将它拖动到图片中的任意位置呢?就如在VB的界面中可以将控件拖动到任何地方的意思一样.
[解决办法]

'增加一个窗体,再在窗体中增加一个按扭 Command1 以下是代码,你试用右键按住按扭进行拖动


Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
        X As Long
        Y As Long
End Type

Dim OldPoint As POINTAPI
Dim NewPoint As POINTAPI

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Button = 2 Then GetCursorPos OldPoint
End Sub

Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Button = 2 Then
      GetCursorPos NewPoint
      Command1.Left = Command1.Left + (NewPoint.X - OldPoint.X)
      Command1.Top = Command1.Top + (NewPoint.Y - OldPoint.Y)
      GetCursorPos OldPoint
  End If
End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Button = 2 Then
      GetCursorPos NewPoint
      Command1.Left = Command1.Left + (NewPoint.X - OldPoint.X)
      Command1.Top = Command1.Top + (NewPoint.Y - OldPoint.Y)
      GetCursorPos OldPoint
  End If
End Sub

Private Sub Form_Load()
  Me.ScaleMode = vbPixels


End Sub

热点排行