谢谢

解决方案 »

  1.   

    建立一个窗口,将以下代码复制到窗口代码去Dim MovX As Long, MovY As LongPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, _
                               X As Single, Y As Single)
       If Button = 1 Then
          MovX = X: MovY = Y
       End If
    End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, _
                               X As Single, Y As Single)
       If Button = 1 Then
          Me.Move Me.Left + (X - MovX), Me.Top + (Y - MovY)
       End If
    End Sub然后托动窗口区域看看
      

  2.   

    虽然楼主的分很低,还要说下楼上的方法不好, 窗体被拖动时,窗体会随鼠标的移动而移动。而在默认的Windows设置中拖动窗体时,被拖动的窗体不会随窗体的移动而移动,随窗体移动的仅是一个与窗体形状、大小一样的虚框,只有释放鼠标后,窗体才会移动到释放鼠标时虚框的所在处。
    当鼠标按下、移动或释放时,将鼠标在窗体上按下的消息(消息值为HTCAPTION)发出,就可以拖动窗体了。代码如下:  Private Declare Function ReleaseCapture Lib "user32" () As Long  Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long,   ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long  Private Const WM_NCLBUTTONDOWN = &&HA1  Private Const HTCAPTION = 2  '以上API函数和常数的声明可在VB自带的“API浏览器”中找到  Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)   '在窗体的MouseDown事件中添加以下代码   If Button = 1 Then   Call ReleaseCapture   Call SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0)   End If  End Sub  Private Sub Command1_Click()  End  '退出程序  End Sub
      

  3.   

    同意云波的.
    调用sendMessage的时候不要用一个long型变量接收也行吗?