PDA

Ver la Versión Completa : Problema Resolución de pantalla en aplicación Delphi


sonjeux
22-09-2015, 19:11:08
Saludos, queria saber si a alguien le paso, yo hice un par de programas donde ubico los componentes, los alineo, etc, esto lo hago en un monitor full hd, cuando paso el programa a una pantalla con menor resolución los componentes me aparecen desalineados, hasta los que coloco con sus cordenadas top y left, alguien sabe que puede ser? gracias

AgustinOrtu
22-09-2015, 19:42:25
Con "alinearlos" queres decir que les pones Align y Anchors?

Lo que pedis es dificil de lograr y que quede bien para todas las distintas resoluciones de pantalla

Un buen comienzo es usar Anchors y Align en los controles. Tambien es muy buena idea usar controles contenedores (GroupBox, Panel, GridPanel)

Una lastima que apenas aparecio en Delphi Seattle, pero el nuevo TRelativePanel (http://docwiki.embarcadero.com/Libraries/Seattle/en/Vcl.WinXCtrls.TRelativePanel) ayuda mucho en estas cuestiones (aunque tiene bastantes bugs)

sonjeux
23-09-2015, 00:06:21
Gracias por responder, te comento que no quiero que sea responsive, es un formulario normal, donde coloco unos componentes de devexpress, por ejemplo en el cxgrid si coloco que el ancho de la columna sea 200, en mi pantalla full hd se nota bien, pero en una de baja resolucion es como si la columna seria de mas tamaño, es algo raro, no me pasaba con delphi 7, tal vez sea una configuracion de delphi xe2 o xe7?

AgustinOrtu
23-09-2015, 03:40:15
Entonces no te quedará otra que ajustar el tamaño de cada columna segun el ancho de la pantalla donde se este ejecutando el programa en cuestion

El ancho de la pantalla lo obtenes consultando al objeto TScreen


ShowMessageFtm('El ancho de la pantalla es %d', [Screen.Width]);


Lo mas comodo y lo que hacemos todos :D, es simplemente dejar activa la propiedad EnableResize (lamentablemente no use nunca DevExpress) pero seguro que hay una propiedad que permite cambiar el ancho de las columnas en tiempo de ejecucion usando el mouse. Los componentes que vienen con Delphi lo permiten