La Web del Programador: Comunidad de Programadores
 
    Pregunta:  46625 - MOVER FORMULARIOS SIN BORDES
Autor:  Quico Sola González
Hola a todos/as,

Alguien me puede comentar un truco para poder mover un formulario sin bordes (borderstyle=vbnone) al estilo dragdrop del resto de formularios que sí tienen contorno?

Gracias!!

  Respuesta:  Boluarte Bedoya
Mira aqui te paso la manero en como es que yo lo hago , claro que uso las API'S de windows , he visto que otros trabajan con la posicion del formulario (Left, Top) pero a mi parecer esto hace que se redibuje el formulario antes de soltarlo. pero en fin si quieres el otro modo me pasa la voz y te lo envio

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 Declare Sub ReleaseCapture Lib "User32" ()
Const WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim lngReturnValue As Long
If Button = 1 Then
' Capturamos el mouse de tal modo que paresca que este,mos presionando un boton del mouse
Call ReleaseCapture
'Enviamos un mensaje donde le decimo que hemos hecho click en un area que no es del area del cliente (NCLBUTTONDOWN)
' ademas que estamos en el area nocliente donde le dimos click es el de la barra de titulo del form (HTCAPTION)
lngReturnValue = SendMessage(Me.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End If
End Sub