Originariamente inviato da fabio309
prova ad adattare questa funzione
codice:
Dim objService, objDisSet
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set objDisSet = objWMIService.InstancesOf("Win32_DisplayConfiguration")
Dim intGetFirst
intGetFirst = 0
Dim objInst


For Each objInst In objDisSet
    If intGetFirst = 0 Then Set objDis = objInst
    intGetFirst = intGetFirst + 1
Next
Dim ctrl
If objDis.PelsWidth & "x" & objDis.PelsHeight = "1280x960" Then
    For Each ctrl In Controls
        ctrl.Width = ctrl.Width * 1.2
        ctrl.Height = ctrl.Height * 1.2
        ctrl.Top = ctrl.Top * 1.2
        ctrl.Left = ctrl.Left * 1.2
    Next
else
    For Each ctrl In Controls
        ctrl.Width = ctrl.Width / 1.2
        ctrl.Height = ctrl.Height / 1.2
        ctrl.Top = ctrl.Top / 1.2
        ctrl.Left = ctrl.Left / 1.2
    Next
End If
A parte che mi sembra che manchi qualcosa, non è sufficiente.
Non basta ridurre le dimesioni dei controlli ma spesso vanno anche riposizionati.