MovForm
[Arrastre de formulario desde cualquier parte de él sin Api's]
Fecha: 18/02/2003
Autor: José F. Romaniello
Sirve para arrastrar un formulario desde cualquier parte, como si fuera la barra de título, tengo entendido que también existe una api.
Con un código similar puedo arrastrar un frame dentro de un formulario también.
A continuación sigue código en Visual Basic:
Option Explicit Dim intX As Integer, intY As Integer Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 'Compruebo que el boton sea el 1 'y no este maximizado If Button = 1 And Not Me.WindowState = 2 Then intX = X 'Guardo las cordenadas intY = Y 'en variables globales. End If End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 'Compruebo que el boton sea el 1 'y no este maximizado If Button = 1 And Not Me.WindowState = 2 Then If X < intX Then 'si x es menor que el anterior x 'estoy desplazando el form hacia izq. Me.Left = Me.Left - (intX - X) Else 'si x es mayor que el anterior x 'estoy desplazando el form hacia der. Me.Left = Me.Left + (X - intX) End If If Y < intY Then 'si y es menor que el anterior y 'estoy desplazando el form hacia arriba Me.Top = Me.Top - (intY - Y) Else 'si y es mayor que el anterior y 'estoy desplazando el form hacia abajo Me.Top = Me.Top + (Y - intY) End If End If End SubNota: el código es extremadamente simple, así que no adjunto código fuente.