El spliter que les comparto es uno horizontal, es decir derecha-izquierda, falta aun el vertical y espero que alguien lo haga y lo comparta tambien, sino ya lo posteo cuando lo termine,.
En el ejemplo estoy redimensionando 2 Text (Text1 y Text2) y como Delimitador estoy usando un Label, claro que podria usar otros controles.
Es importante que la propiedad MousePointer del control que actuara como Delimitador este a (9 - Size WE) para que se vea mejor y un poco mas intuitivo.
Aqui va un ejemplo del diseño:
El control Label que es el Delimitador tiene como Nombre LBLDelim y este es su codigo:
Código
MOVER ponerlo como Boolean en General
Private Sub LBLDelim_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) MOVER = True End Sub Private Sub LBLDelim_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If MOVER = True Then LBLDelim.Left = LBLDelim.Left + X SpliterWiz Text1, Text2, LBLDelim End If End Sub Private Sub LBLDelim_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) MOVER = False End Sub
Mientras que el Sub que se encarga del redimensionado es:
Código
Sub SpliterWiz(ControlI As Control, ControlD As Control, Delimitador As Control) On Error GoTo ErrorSpliter Dim a1 As Integer, a2 As Integer, d As Integer ControlI.Width = Delimitador.Left - ControlI.Left a1 = ControlD.Left ControlD.Left = Delimitador.Left + Delimitador.Width a2 = ControlD.Left If a1 > a2 Then d = a1 - a2 ControlD.Width = ControlD.Width + d Else d = a2 - a1 ControlD.Width = ControlD.Width - d End If ErrorSpliter: End Sub
Presionar F5 y arrastar el Label, los cuadros de texto se redimensionaran.
A la espera del Vertical
Un saludo.