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 |