Este problema é uma droga, dificil de ajustar, mas veja, se quiser resolver pra qualquer resolução, vai uma dica trabalhosa. mas resolve de vez.
Nomeie duas variaveis públicas em um módulo
Public lHEIGHT As Long
Public lWIDTH As Long
No Formulário Inicial:
Dim xTwips As Long
Dim yTwips As Long
Dim xPixels As Long
Dim yPixels As Long
Private Sub Form_Load()
xTwips = Screen.TwipsPerPixelX
yTwips = Screen.TwipsPerPixelY
yPixels = Screen.height / yTwips
xPixels = Screen.width / xTwips
lHEIGHT = (yPixels / 600) ' neste caso resolução de 800 x 600
lWIDTH = (xPixels / 800)
Me.Top = 0 ' aqui coloca as posições que voce quer, assim como tamanho
Me.Left = 0 ' baseado em 800 x 600, mas pode mudar
Me.Height = (6000 * lHEIGHT)
Me.Width = (12000 * lWIDTH)
' bem agora aqui, voce chama uma função pública que acerta os tamanhos e posição
' dos controles no Formulário
End Sub
Isto deve ser feito em cada formulário que voce carregar, seja mdi, normal, ou child.
Trabalhoso, mas apenas uma única vez, fazendo na base de 800 x 600, a resolução pode
ser qualquer uma, vai ficar beleza, e ai, esquece configuração.
vlu//