elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Ajustar a distintas resoluciones de pantalla ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ajustar a distintas resoluciones de pantalla ?  (Leído 15,038 veces)
Urbe Tecnologica

Desconectado Desconectado

Mensajes: 94


Non NobiS, DomiNe, Sed NomIne tuo Da GLoriaM


Ver Perfil
Ajustar a distintas resoluciones de pantalla ?
« en: 3 Enero 2010, 18:54 pm »

Tengo una aplicacion terminada, sencilla, pero terminada. La comprobe y salve los errores. Ahora bien, una vez que la llevo a distintas pc o notebooks con distintos SO funciona bien, pero el problema es que como son distintas resoluciones de pantallas en la notebook de 15" sale la ventanita gigante y se pierden detalles, botones, etc, en el lcd de 21" sale excelente ( es donde la trabaje) y en un CRT de 17 " sale mas o menos, pero bien...como deberia hacer para que se autoajuste o por lo menos que en un monitor CRT de 15 " o en la notebook salga bien ??

Probe con el metodo Resize y no me sale...busque en google pero no es lo que necesito....y en el buscador de aqui tampoco encontre...por ahora, pero seguire buscando...si alguien tiene idea paseme el aviso, gracias !!  ;)


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Ajustar a distintas resoluciones de pantalla ?
« Respuesta #1 en: 3 Enero 2010, 19:02 pm »

Dicen que con esto, se soluciona. Pero nose que pasará con los objetos dentro del formulario.
Código
  1. Me.Height = Screen.Height
  2. Me.Width = Screen.Width


En línea

Te vendería mi talento por poder dormir tranquilo.
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Ajustar a distintas resoluciones de pantalla ?
« Respuesta #2 en: 3 Enero 2010, 19:13 pm »

o mejor es obtener la resulucion maxima posible verificar si es posible redimencionar la resolucion en este monitor y si es asi mejor redimencionar la resolucion ma sno la del formulario y si la resolucion no es aguantada por el monitor actual entonces mandar un mensaje de incompatibilidad con el monitor respecto a las resoluciones adminisbles del monitor

aqui un enlace que demuestra como cambair las dichas resoluciones.

http://www.recursosvisualbasic.com.ar/htm/listado-api/api-23.htm

Dulces Lunas!¡.

En línea

The Dark Shadow is my passion.
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Ajustar a distintas resoluciones de pantalla ?
« Respuesta #3 en: 3 Enero 2010, 19:15 pm »

a se me olvidaba y centrar el formulario respecto a el monitor

Dulces Lunas!¡.
En línea

The Dark Shadow is my passion.
seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Ajustar a distintas resoluciones de pantalla ?
« Respuesta #4 en: 3 Enero 2010, 19:23 pm »

el tema no es asi de facil, por mas que busques, tenes varios codigos para que cuando se resize el form se adapten los controles adentro. lo que tenes que saber es como administrar los controles en el formulario para que con algun codigo en el evento resize los puedas adaptar y que esten siempre con la mima forma, como lo hace windows con las ventanas fijate, siempre opte por hacer las ventanas con tamaño "fijo", asi no tengo que estar lidiando con esto, en .NET es mas facil el tema.

estaria beno ver una captura de la ventana.

saludos.
En línea

Urbe Tecnologica

Desconectado Desconectado

Mensajes: 94


Non NobiS, DomiNe, Sed NomIne tuo Da GLoriaM


Ver Perfil
Re: Ajustar a distintas resoluciones de pantalla ?
« Respuesta #5 en: 3 Enero 2010, 21:40 pm »

Si como dice sebas se puede optar por dejar el form centrado al iniciarse y la propiedad maxbutton en false que fue por lo que opte ahora, pero el tema es que de todos modos al ser desarrollada en un monitor de alta resolucion por mas que lo haga en una ventanita, al pasar a un CRT de esos que todavia se usan en muchas oficinas la ventanita queda ventanota  :P

En recursosVB encontre y use el ejemplo y esta bueno...pero no me soluciona el tema...
:¬¬

bueno igual gracias por la atencion, lo que voy hacer es achicar la ventana hasta dejarla mas o menos en algo "decente" que se vea bien en un lcd, crt o ntbook...mas alla que lo importante es el funcionamiento del programa, a la gente le gusta ver una interfaz agradable y eso es importante para lograr meter el producto en el mercado, calculo... ;)
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.524


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Ajustar a distintas resoluciones de pantalla ?
« Respuesta #6 en: 3 Enero 2010, 22:50 pm »

Hola!

Quizás puedas sacar algo de esto:

Código:
Public Sub AdaptarToResolucion(Formulario As Form)
'Propósito:
'          Adapta los controles de un formulario en tiempo de ejecución
'          dependiendo de la resolución de la pantalla.
'Parámetros:
'           Formulario: Variable tipo form que será redimensionada.
'
Dim ControlForm
Dim ES_TAB As Boolean
Dim Cuad As RECT
Dim Res As Long
Dim CoordX As Single

Err.Clear

Res = GetWindowRect(GetDesktopWindow, Cuad)
If Res = 0 Then Exit Sub
CoordX = Cuad.Right 'Screen.Width / Screen.TwipsPerPixelX

If (Not ResOK) Or (CoordX = ResXDisenio) Then Exit Sub

On Error Resume Next

proporcional = CoordX / 800

If Formulario.WindowState <> 2 Then
   Formulario.Width = Formulario.Width * proporcional
   Formulario.Height = Formulario.Height * proporcional
End If

For Each ControlForm In Formulario.Controls
    ControlForm.Top = ControlForm.Top * proporcional
    If ControlForm.Left >= 0 Then
        ControlForm.Left = ControlForm.Left * proporcional
        ControlForm.Width = ControlForm.Width * proporcional
        Err = 0
        ControlForm.FontSize = Int(Val(ControlForm.FontSize * proporcional)) - 1
        If Err <> 0 Then
            Err = 0
            ControlForm.Font.Size = Int(Val(ControlForm.Font.Size * proporcional)) - 1
        End If
        If Err <> 0 Then
            ControlForm.Title.Font.Size = Int(Val(ControlForm.Title.Font.Size * proporcional)) - 1
        End If
        Err = 0
        ControlForm.Font.Name = "Arial"
        If Err <> 0 Then
            Err = 0
            ControlForm.FontName = "Arial"
        End If
        If Err <> 0 Then
            Err = 0
            ControlForm.Font = "Arial"
        End If
        If Err <> 0 Then
            ControlForm.Title.Font.Name = "Arial"
        End If
    Else
        If ControlForm.Tag = "ANCHO" Then
            ControlForm.Left = (75000 - Abs(ControlForm.Left)) * proporcional
            ControlForm.Width = ControlForm.Width * proporcional
            ControlForm.FontSize = Int(Val(ControlForm.FontSize * proporcional)) - 1
            ControlForm.Font.Size = Int(Val(ControlForm.Font.Size * proporcional)) - 1
            ControlForm.Font.Name = "Arial"
            ControlForm.FontName = "Arial"
            ControlForm.Font = "Arial"
            ControlForm.Title.Font.Name = "Arial"
            ControlForm.Title.Font.Size = Int(Val(ControlForm.Title.Font.Size * proporcional)) - 1
        End If
    End If
    ControlForm.TabMaxWidth = ControlForm.TabMaxWidth * proporcional
    ControlForm.Height = ControlForm.Height * proporcional
    ControlForm.X1 = ControlForm.X1 * proporcional
    ControlForm.X2 = ControlForm.X2 * proporcional
    ControlForm.Y1 = ControlForm.Y1 * proporcional
    ControlForm.Y2 = ControlForm.Y2 * proporcional
Next ControlForm
End Sub

No sé si anda para todos los controles pues es algo que hice hace mucho...

Ah! Adapta a 800x600...
Osea:
Código:
Public Const ResXDisenio = 800

Public Function ResOK() As Boolean
Dim Cuad As RECT
Dim Res As Long
Dim CoordX As Single

ResOK = False


Res = GetWindowRect(GetDesktopWindow, Cuad)
If Res = 0 Then
    ResOK = True
    Exit Function
End If

CoordX = Cuad.Right 'Screen.Width / Screen.TwipsPerPixelX

If CoordX >= ResXDisenio Then
    ResOK = True
End If
End Function

NOTA: Fíjate que el if que compara el Left del control, es paradeterminar si es un Tab. Las orejas del Tab tienen left negativo cuando no estan visibles.

Me faltaba eso  :P...
Saludos!
« Última modificación: 3 Enero 2010, 23:04 pm por MCKSys Argentina » En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Repara resoluciones de pantalla y mas cosas con Xrandr
Noticias
wolfbcn 0 1,686 Último mensaje 29 Octubre 2011, 02:09 am
por wolfbcn
ajustar canvas dentro de un div dependiendo de la resolucion de pantalla
Desarrollo Web
OssoH 2 6,047 Último mensaje 10 Abril 2012, 16:59 pm
por OssoH
Ajustar barra a todo el ancho de pantalla
Desarrollo Web
Ketchuz 4 5,102 Último mensaje 18 Junio 2012, 00:55 am
por #!drvy
¿Cómo puedo ajustar las resoluciones?
Desarrollo Web
andrecid 2 2,485 Último mensaje 29 Junio 2016, 02:12 am
por gAb1
Ajustar fondo en pantalla
Desarrollo Web
eugeniocol 3 2,599 Último mensaje 24 Febrero 2017, 20:31 pm
por eugeniocol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines