hola xassiz,
Leonardo Azpurua explica bastante bien como puedes hacerlo en
http://social.msdn.microsoft.com/forums/es-ES/vbes/thread/86f62967-9763-4964-a220-671f89f01e53/
Su idea consiste en guardar en una variable el alto y ancho del formulario, y en la propiedad tag de cada uno de los controles, su ancho. alto, tamaño de fuente y posición X e Y en el formulario.
Cada vez que el formulario se redimensiona se calcula la proporcion en que ha variado, y se aplica a todos los controles.
te pongo el código
Seguramente tendrás que hacer modificaciones porque no todos los controles tienen todas las propiedades (p.ej. un timer)...........así que no deja de ser un apaño
Leonardo Azpurua explica bastante bien como puedes hacerlo en
http://social.msdn.microsoft.com/forums/es-ES/vbes/thread/86f62967-9763-4964-a220-671f89f01e53/
Su idea consiste en guardar en una variable el alto y ancho del formulario, y en la propiedad tag de cada uno de los controles, su ancho. alto, tamaño de fuente y posición X e Y en el formulario.
Cada vez que el formulario se redimensiona se calcula la proporcion en que ha variado, y se aplica a todos los controles.
te pongo el código
Código [Seleccionar]
Dim xControl As Control
Dim designHeight As Single, designWidth As Single
Private Sub Form_Load()
designHeight = Me.Height
designWidth = Me.Width
For Each xControl In Form1
xControl.Tag = xControl.Height & "/" & xControl.Width & "/" & xControl.Left & "/" & xControl.Top & "/" & xControl.FontSize
Next
End Sub
Private Sub Form_Resize()
Dim factorH As Single, factorW As Single
factorH = Me.Height / designHeight
factorW = Me.Width / designWidth
For Each xControl In Form1
Call RescalarControl(factorH, factorW, xControl)
Next
End Sub
Public Sub RescalarControl(factorH As Single, factorW As Single, xControl As Control)
Dim cTop As Single, cLeft As Single, cWidth As Single, cHeight As Single, cFont As Single
Dim v() As String
v = Split(xControl.Tag, "/")
cHeight = v(0) * factorH
cWidth = v(1) * factorW
cLeft = v(2) * factorW
cTop = v(3) * factorH
cFont = v(4) * factorH
With xControl
.Top = cTop
.Left = cLeft
.Height = cHeight
.Width = cWidth
.Font.Size = cFont
End With
End Sub
Seguramente tendrás que hacer modificaciones porque no todos los controles tienen todas las propiedades (p.ej. un timer)...........así que no deja de ser un apaño
![:-( :-(](https://forum.elhacker.net/Smileys/navidad/cry.gif)