Resolución de pantalla

santichanti
19 de Mayo del 2006
Hola, he realizado una aplicación en vb 6 y el problema es que la pantalla de mi programa no se adapta a la resolución del ordenador donde se instala.
¿Me podrían decir como puedo ponerlo para que la pantalla se adapte a la resolución de cualquier ordenador donde se instale dicho programa?

Gracias

pepe
19 de Mayo del 2006
me sumo al pedido del amigo, si alguien sabe algo por favor avise, muchas gracias

mvallejos
19 de Mayo del 2006
Para empezar, debes diseñar en la resolucion mas baja (hoy podemos decir 800x600), porque queda mejor reacomodar a mas grande que achicar todo.
Lo que sigue es guardar en alguna constante, la resolucion de diseño, para compararla con la resolucion actual, valiendonos del objeto screen

Ejemplo

ResOrigX = 800
ResOrigY = 600

Cuando arranca el form, averiguamos la resolucion actual

ResX = Screen.Width / Screen.TwipPerPixelX
ResY = Screen.Height / Screen.TwipPerPixelY

Con eso sacamos un proporcional

PropocionalX = RexX / ResOrigX
PropocionalY = RexY / ResOrigY

Luego, control por control se va multiplicando el left y el width por el PropocionalX, el Top y el height por el PropocionalY

Aparte de eso, si el form a adaptar no es maximizado, hay que porporcionar su width y Height.

Otra cosa, la forma más util de recorrer todos los controles de un form, es usando la colección Controls

Dim CTRL as Control

For Each CTRL In Me.Controls
CTRL.Left = .....
CTRL.Top = .....
CTRL.Width = .....
CTRL.Height = .....
Next CTRL

Cuidado con los Combos, en estos controles la propiedad Height es de solo lectura.

Espero que les sirva

Saludos