就是可以移了FORM框的。
可以用鼠标拖动的按钮。
谢了。
我急需。

解决方案 »

  1.   

    这个意思?
    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 HTCAPTION = 2
    Private Const WM_NCLBUTTONDOWN = &HA1
    Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim rr As Long
    Dim i
    If Button = 1 Then
    i = ReleaseCapture()
    rr = SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0)
    End If
    End Sub
      

  2.   

    使用ReleaseCapture和 SendMessage 这两个API
    定义入下:
    Declare Function ReleaseCapture Lib "user32" () As Long
    Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
      

  3.   

    就是可以用鼠标拖动,把FORM1上的COMMAND1移出FORM框的,而且可以停在任意位置。谢了。
    我急需。
      

  4.   

    就是可以用鼠标拖动,把FORM1上的COMMAND1移出FORM框的,而且可以停在屏幕任意位置。谢了。
    我急需。
      

  5.   

    还要加一个条件。。
    就是移出FORM1以外的那个按钮还要在所有程序的最上面。
    就是始终在最前面的那个意思。
      

  6.   

    嘿嘿,移出不行吧,不过你可以做一个假的移出,就是把这个COMMAND1放在大小一样的form上,然后移这个form,效果也差不多的
      

  7.   

    不用真的移出窗口吧?
    只要你用一个Form2,Form2的边框去掉。再弄小一点,刚好装下一个按钮不就完了?始终在最前面的那个方法我一时想不起来了:)
      

  8.   

    不用真的移出窗口吧?
    只要你用一个Form2,Form2的边框去掉。再弄小一点,刚好装下一个按钮不就完了?始终在最前面的那个方法我一时想不起来了:)
    始终在最前面很好解决,用setwindowpos把Form2设置为置顶就行