Visual Basic.NET - Help! Configurar resolución pantalla

 
Vista:

Help! Configurar resolución pantalla

Publicado por Marta (8 intervenciones) el 23/11/2006 16:46:14
Holaaaaa!

Alguién tiene un magnífico código o alguna manera de saber la resolución que tiene un usuario en su pantalla y poderlo adaptar al aplicativo?

Tengo que hacer un aplicativo para tres configuraciones distintas! es un caos!

Muchas gracias!

Marta.
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:Help! Configurar resolución pantalla

Publicado por Harold (411 intervenciones) el 24/11/2006 01:54:11
Aqui esta el magnifico codigo!!!!!!!!!!

'Este codigo hace:

'Si encuentra q tu monitor soporta 1400 x 1050 o otra resolucion (por ejemplo).
'cambia la resolucion automaticamente 'y lo bueno es que cuando cierras tu aplicacion regresa a la resoluciona que tenia antes de cargar la aplicacion

'RECUERDA QUE TOMARA LA PRIMERA QUE ENCUENTRE Y SALDRA DEL PROCEDIMIENTO

Empieza haciendo referencia a:

DirectX 7 for Visual Basic Type Library

luego: importalo

Imports DxVBlib

'Variables
Dim dd As DxVBLib.DirectDraw7
Dim dx As New DirectX7
Dim x As Integer
Dim ddsd As DDSURFACEDESC2
Dim DisplayModesEnum As DirectDrawEnumModes

'Este ejemplo llenara un list con las resoluciones que tienes

Private Sub ObtenerResoluciones()
Dim i As Integer
dd = dx.DirectDrawCreate("")
DisplayModesEnum = dd.GetDisplayModesEnum(CONST_DDEDMFLAGS.DDEDM_DEFAULT, ddsd)
x = DisplayModesEnum.GetCount 'cuenta las resoluciones q tiene tu monitor
For i = x To 1 Step -1 'este bucle llenara la lista con inf
DisplayModesEnum.GetItem(i, ddsd) 'dato de la resolution
ListBox1.Items.Add(ddsd.lWidth & " x " & ddsd.lHeight)
Next
End Sub

ESTE PROCEDIMEINTO CAMBIA LA RESOLUCION (ESTA EXPLICADO ARRIBA)
''''''''''''''''''''''''''''''''''''''
Private Sub CambiaResolucion()
Dim i As Integer
dd = dx.DirectDrawCreate("")
DisplayModesEnum = dd.GetDisplayModesEnum(CONST_DDEDMFLAGS.DDEDM_DEFAULT, ddsd) 'crea el objeto para extraer informacion
x = DisplayModesEnum.GetCount 'cuenta las resoluciones q tiene tu monitor
For i = x To 1 Step -1
DisplayModesEnum.GetItem(i, ddsd) 'dato de la resolution
Select Case ddsd.lWidth
Case "1400"
dd.SetDisplayMode("1400", "1050", 32, 0, CONST_DDSDMFLAGS.DDSDM_DEFAULT) 'set the display mode
INFOSCREEN = 1400
Exit Sub
Case "1280"
dd.SetDisplayMode("1280", "1024", 32, 0, CONST_DDSDMFLAGS.DDSDM_DEFAULT) 'set the display mode
INFOSCREEN = 1200
Exit Sub
Case "1024"
dd.SetDisplayMode("1024", "768", 32, 0, CONST_DDSDMFLAGS.DDSDM_DEFAULT) 'set the display mode
INFOSCREEN = 1024
Exit Sub
Case "800"
dd.SetDisplayMode("800", "600", 32, 0, CONST_DDSDMFLAGS.DDSDM_DEFAULT) 'set the display mode
INFOSCREEN = 800
Exit Sub
End Select
Next
End Sub

Private Sub cmdCambiarResl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCambiarResl.Click
ObtenerResoluciones
'CambiaResolucion()
End Sub
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:Help! Configurar resolución pantalla

Publicado por Marta (8 intervenciones) el 24/11/2006 10:26:02
Muchas gracias! Funciona!

Pero me expliqué mal. Yo no quiero cambiar la configuración para cuando se salga de Windows se vuelva a poner la de por defecto.

Me gustaría saber como buscar la configuración que tiene el usuario de la aplicación y modificar mis controles para que se adapten a la resolución. Seguro que hay alguna manera pero no se como,... :'___

Muchas gracias igualmente!!!!
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