Visual Basic - Adaptar la resolución

Life is soft - evento anual de software empresarial
 
Vista:

Adaptar la resolución

Publicado por Javier De Andrés (1 intervención) el 10/09/2003 12:34:13
Me gustaría saber como se puede adaptar el tamaño de los formularios y objetos que estén en el formulario a la resolución de la pantalla, ya que creando un programa en un monitos de 17 pulgadas, cuando lo ejecuto en uno de 15, se come la mitad de las cosas y queda todo descuadrado.Alguien en éste mundo debe saberlo porque ni siquiera mis profesoras de programación lo saben.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Adaptar la resolución

Publicado por Juan (284 intervenciones) el 10/09/2003 13:31:20
No conozco una forma directa de hacer eso, pero tengo un ejemplo que quizas te sirva. Lo que hace el código es mantener la posición y dimensiones de los controles con la misma proporción que tenían respecto del formularió cuando este se cargó.

Para entenderlo mejor pruebalo. Pon los controles que quieras en un form y después pega en él el código que te pondré en els siguiente mensaje.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Adaptar la resolución

Publicado por Juan (284 intervenciones) el 10/09/2003 13:32:38
Private Type dimensiones
iz As Long
ar As Long
an As Long
al As Long
End Type
Dim anchoIni As Long, altoIni As Long, dimControles() As dimensiones
Private Sub Form_Load()
Dim aux As Control, i As Integer
anchoIni = Me.ScaleWidth
altoIni = Me.ScaleHeight
ReDim dimControles(Me.Controls.Count)
For Each aux In Me.Controls
dimControles(i).iz = aux.Left
dimControles(i).ar = aux.Top
dimControles(i).an = aux.Width
dimControles(i).al = aux.Height
i = i + 1
Next aux
End Sub
Private Sub Form_Resize()
Dim aux As Control, i As Integer
For Each aux In Me.Controls
aux.Left = (Me.ScaleWidth / anchoIni) * dimControles(i).iz
aux.Top = (Me.ScaleHeight / altoIni) * dimControles(i).ar
aux.Width = (Me.ScaleWidth / anchoIni) * dimControles(i).an
aux.Height = (Me.ScaleHeight / altoIni) * dimControles(i).al
i = i + 1
Next aux
End Sub

Comprueba lo que sucede al cambiar de tamaño el formulario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Adaptar la resolución

Publicado por oscar (37 intervenciones) el 14/10/2003 01:07:31
el codigo funciona muy bien, pero si hay FRAMES de por medio, falla... y un programa sin frames cuesta hacerlo, pues es una solucion muy estetica. ¿alguna solucion?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar