Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   ¿¿Ajuste de pantalla para resoluciones diferentes?? (https://www.clubdelphi.com/foros/showthread.php?t=42509)

Alexis7788 16-04-2007 19:01:35

¿¿Ajuste de pantalla para resoluciones diferentes??
 
Hola a todos, espero que podais ayudarme, os explico mi problema:

quiero hacer correr una aplicación en diferentes ordenadores y éstos tienen diferente resolución de pantalla, el problema es que en algunos se ajusta bien y en otros queda bastante "feo" o incluso no se llegan a poder observar todas las opciones (se lo come la pantalla). Alguien sabe cómo se puede ajustar dinámicamente el formulario de entrada principal o algo así??

Os agradecería cualquier ayuda, un saludo. Muchas gracias a todos

dec 16-04-2007 19:05:03

Hola,

Diseña los formularios de tu aplicación de forma que puedan adaptarse a las distintas resoluciones de pantalla. No utilizes formularios que no puedan maximizarse y tengan un tamaño fijo. Utiliza las propiedades "Anchors" de los componentes visuales de forma que estos se adapten al formulario.

No creo que haya ninguna bala de plata para esto, sino una serie de "reglas" de diseño. Otra cosa sería que necesitases cambiar la resolución de pantalla del sistema porque así lo requiera el programa... esto puedes hacerlo, y aunque ahora mismo no tengo el código a mano estoy seguro de que en los Foros encontrarás información al respecto. :)

ContraVeneno 16-04-2007 19:05:51

Las propiedades
Align
Anchors
Constraits

te podrían ser útiles

dec 16-04-2007 19:10:36

Hola,

Se me olvidó comentar que en un programa normal es el programa el que habrá de adaptarse al sistema y no al contrario. De hecho, ¿cuántos programas conoces que cambien la resolución de pantalla? En mi PC sólo tengo instalado uno: Counter Strike. :D

Dicho esto añado que no vería con buenos ojos que un programa cualquiera cambiara la resolución de pantalla del sistema... mucho menos sin avisar... sobre todo porque puede acaso traer consecuencias funestas: cambios a resoluciones no soportadas, caída del sistema... qué sé yo...

Chris 16-04-2007 20:02:46

Existe un procedimiento llamado EscaleControls en el objeto form o algo así, no lo recuerdo con certeza, pero creo que toma un paramentro sino es el más importante, se llama "EscaleBy", este lo obtienes con la división de de "resolucionXD div ResoluciónXU" en donde:

resoluciónXD es la resolución horisontal de la pantalla que utilizas para desarrollar tu aplicación y,
resolucionXU es la resolución horizontal de la pantalla del usuario final, esta la consigues con el objeto Screen.

por ejemplo 1280 div 1024 = 1.25

creo que el 1.25 lo multiplicas por 100 para obtener un porcentaje de 125%. en sí esa es la idea, chequea la documentación para obtener más detalles.

Pero, el problema es que esta función en ocaciones no es muy exacta y algunos controles, mas que todo, las fuentes no se escalan correctamente. yo utilizo Delphi7, pero no sé si en ediciones posteriores hayan incrustrado una opción Zoom que creo que funcionaría mejor, de todos modos tengo entendido que existen controles para ayudarte en estas tareas.


La franja horaria es GMT +2. Ahora son las 16:46:13.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi