Bueno, tendrias que crear un procedimiento o unas funciones en las que tendris que trabajar con las dimensiones de los objetos y con el tamaño de la fuente tambien.... te paso un codigo que ojala te ayude....
aqui dependiendo del objeto, llamas a la funcion ajustenormal....
Public Sub Ajustar(F As Form)
FactorX = Pantalla.Ancho * Screen.TwipsPerPixelX / Screen.Width
FactorY = Pantalla.Alto * Screen.TwipsPerPixelY / Screen.Height
If (FactorX = 1 And FactorY = 1) Or F.Ajustado Then Exit Sub
F.Visible = False
Dim C As Object
If F.WindowState = vbNormal Then
AjusteNormal F
End If
For Each C In F.Controls
Select Case LCase(TypeName(C.Container))
Case LCase(F.Name)
Select Case LCase(TypeName(C))
Case "label"
AjusteNormal C
C.AutoSize = True
Case "picturebox"
AjusteNormal C
'C.Align = C.Align
Case "shape"
AjusteNormal C
'No se ha detectado nada
Case "textbox"
AjusteNormal C
Case "frame"
AjusteNormal C
Case "comboBox"
AjusteNormal C
Case "commandbutton"
AjusteNormal C
Case "optionbutton"
AjusteNormal C
'No se ha detectado nada excepto la escalabilidad de la fuente
Case Else
'Shape
AjusteNormal C
End Select
Case "sstab"
Dim T As Integer
T = C.Container.Tab
C.Container.Tab = 0
Do
If Left$(Str(C.Left), 1) = "-" Then
C.Container.Tab = C.Container.Tab + 1
Else
Exit Do
End If
Loop
AjusteNormal C
C.Container.Tab = T
Case Else
AjusteNormal C
End Select
aqui:
Next
'F.Ajustado = True
F.Visible = True
End Sub
Private Sub AjusteNormal(C2 As Object)
On Error Resume Next
C2.Font.Size = C2.FontSize / FactorX
C2.Height = C2.Height / FactorY
C2.Width = C2.Width / FactorX
C2.Left = C2.Left / FactorX
C2.Top = C2.Top / FactorY
End Sub