Resolución de pantalla
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
¿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
me sumo al pedido del amigo, si alguien sabe algo por favor avise, muchas gracias
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
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
