pues en VB 6.0 hay veces que se complica un poquito, mira si tienes 2 o mas controles que quieras redimencionar, tienes que calcularlo tomando en cuenta el tamaño de cada control
tomando el ejemplo anterior pero ahora con 2 controles
supongamos que quieres que una caja de texto ocupe la mitad superior del form y la segunda caja de texto ocupe la mitad inferior y que haya 1cm de separación entre ellas y que tengas 1cm de separación con respecto al borde del from:
Private sub Form_Resize()
on local error resume next
text1.left = 567*1 ' Margen izquierdo
'Margen derecho se toman 2cm porque 1cm es del borde izquierdo y otro cm es del borde derecho
text1.with = me.scalewith - 567*2
text1.top = 567*1' Margen superior
text1.Height = (me.scaleHeight/2) - 567*2 'Margen inferior
'---------------------------------------------------------------
text2.left = 567*1 ' Margen izquierdo
'Margen derecho se toman 2cm porque 1cm es del borde izquierdo y otro cm es del borde derecho
text2.with = me.scalewith - 567*2
text2.top = (567*.1) + text1.Height ' Margen superior
text1.Height = (me.scaleHeight/2) - 567*2 'Margen inferior
on local error goto 0
end sub
si tratas de redimencionar todos los controles dentro del form asi, aveces se torna un poco complicado si son varios, por decir que tubieses 10 cajas de texto, yo he optado tambien opr poner PictureBox's y utilizo sus propiedades de ALIGN y ya dentro de cada uno redimensiono los controles
mira este es parte del codigo de un programa que estoy haciendo
aqui puse un picture con Align = 3, solo redimensiono el ancho
y le resto el ancho de otro Picture
Private Sub Form_Resize()
picHerr.Width = Me.ScaleWidth - picCont.Width
End Sub
y dentro de ese picture tengo otros y con esto hago que se pongan siempre al centro
Private Sub centrar(ByRef x As PictureBox)
x.Top = (picHerr.ScaleHeight - x.Height) / 2
x.Left = (picHerr.ScaleWidth - x.Width) / 2
End Sub
a esta funcion le mando el control que quiero centar