Como crean sus app teniendo en cuenta la resolucion del usuario?

Iniciado por $Edu$, 7 Octubre 2011, 17:47 PM

0 Miembros y 2 Visitantes están viendo este tema.

$Edu$

Lo del Form MDI no me gusto, eso de que queda dentro de otro form, no me gusta mucho como queda, ahora.. lo de los scrolls, pensaba que los forms tenian una propiedad Scroll para ponerle true xD pero de seguro me decian para que use los scrolls pero los componentes ( los controles) no?

Nunca he hecho eso pero diganme si tengo razon en lo que dije y si pueden me dicen como lo harian, vuelvan a leer mi primer comentario por las dudas, saludos!

$Edu$

#11
Bueno no he podido con las scroll bars, no tengo ni idea de como hacer para insertarlas en el form para que este scrolle, asi que optare por verificar la resolucion de pantalla al inicio de la app y si es menor a 1280 x 1024 que establezca esa resolucion, y luego al cerrar la app que establezca la solucion que tenia antes, les parece? o no queda bien? si me dicen que si, me dejan contento xD

Edit: uso estas 2 apis:
Código (vb) [Seleccionar]

Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" _
    (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, _
    lpDevMode As Any) As Boolean

Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" _
    (lpDevMode As Any, ByVal dwflags As Long) As Long


No tendre problemas con si es Windows vista, o windows xp o windows7 no?

raul338


$Edu$


$Edu$

Pregunto aca ya que es del mismo tema.. Generalmente las notebooks, hasta que resolucion de pantalla pueden lograr? creen que si le pongo a mi programa que verifique la resolucion de pantalla y si es menor a 1280 x 1024 qe es con la que funciona de lujo mi app, la establezca a esa misma, no tendre problemas?

Hablo de las notebooks porque en si, el programa es para esa notebook, pero no puedo ir a preguntarle: Tiene para poner resolucion de pantalla a 1280 x 1024?

Y como yo se que ustedes saben, me podran decir, porque en la de un amigo vi que era 1320 por ahi X 760, es decir son hasta mas ancha q mi monitor pero menos de altura, pero no se, si alguien me saca las dudas le agradezco, es una boludez lo q pregunto :P

BlackZeroX

Si haces una resolucion estandarizada no habra problemas un 800x600 jala donde quiera alctualmente... igual tu duda se soluciona INVESTIGANDO sobre las susodichas notebooks...

Dulces Lunas!¡.
The Dark Shadow is my passion.

seba123neo

no hay que complicarse en esto, nada de averiguar la resolucion ni nada de eso, eso es chapuza, tenes 2 formas:

1 - hacer las ventanas fijas de tamaño (asi lo hago yo) hoy en dia la resolucion minima es de 800x600 o mas, con eso ya te alcanza para hacer una ventana bastante frande.

2 - hacer que se pueda dimesnionar como el usuario quiera y al mismo tiempo aplicar el redimensionamiento a los controles, como hace cualquier programa, por ejemplo firefox, la barra de direcciones se hace grande segun el ancho de la pantalla, eso es simple, en .NET en 2 patadas lo haces con la propiedad Anchor, en vb6 no hay nada de eso , hay un control en PSC que simula el ancor pero yo prefiero escribir un codigo limpio.

eso si, lo de redimensionar controles no debes redimensionar la fuente como vi en algunos ejemplos, eso queda horrible, simplemente es redimensaionar el ancho o alto, no hay otra.

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

$Edu$

Gracias ya solucione gracias a 79137913 con un scroll, ya que antes no habia podido yo, pero ahora quedo todo perfect y no me importa mas la resolucion :P, gracias a todos por sus comentarios, aprendi mas de 4 cosas jeje, saludos!

79137913

HOLA!!!

Cita de: $Edu$ en 18 Octubre 2011, 15:37 PM
Gracias ya solucione gracias a 79137913 con un scroll, ya que antes no habia podido yo, pero ahora quedo todo perfect y no me importa mas la resolucion :P, gracias a todos por sus comentarios, aprendi mas de 4 cosas jeje, saludos!

No era muy dificil, agrego una scrollbar vertical con el nobre NoMoveVScroll

En su evento change

Le ponen:
Código (vb) [Seleccionar]

'en los tag de los controles le ponen el top inicial.
For each control in me
    if mid(control.name,1,6) <> "NoMove" then Control.top = val(control.tag) - NoMoveVScroll.value
next


No es solo ese el code pero con eso les tiene que andar.
GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

BlackZeroX

#19
.
Hay que definir que se considera un codigo limpio!¡... ya que puedo instanciar el form en una clase y en este poner el codigo que se encargue de redimensionar los controles, pero claro, .NET ya es la otra oreja del burro.

por ejemplo:

en Form
Código (vb) [Seleccionar]

Option Explicit
Dim oThis As Class1

Private Sub Form_Initialize()
    Set oThis = New Class1
    Set oThis.oForm = Me
End Sub

Private Sub Form_Terminate()
    Set oThis = Nothing
End Sub


en una clase
Código (vb) [Seleccionar]

Option Explicit
Public WithEvents oForm As Form

Private Sub oForm_Load()
    MsgBox "Hola Mundo"
End Sub

Private Sub oForm_Unload(Cancel As Integer)
    MsgBox "Adios Mundo Cruel"
End Sub


y con eso se podria programar una clase Generica que puede o no redimencionar o hacer X cosa y dejar el codigo del form intacto... claro que limitandose... por ejemplo, quedaria bien el codigo de 79137913 estandarizando una nomeclatura para los nombres de los controles en todos los forms, en aquel caso agregando "NoMove" en el nombre de los mismos, y se podria instancia la clase en varios forms siendo esto lo mas deseado de esta manera se crearia un "codigo limpio" con respecto a evitar codigo repetido en varios forms, .Net es muy bueno eso me queda claro!¡.

Me parecio interesante decir esto de la clase debido a que seguro querra hacer lo mismo en mas de un solo form.

Dulces Lunas!¡.
The Dark Shadow is my passion.