Escrito 17 octubre 2011 - 11:56
Hola Agag,
Como explica ese artículo, si tu cliente quiere, con la misma resolución que ya tiene (1366 x 768), ver todas las aplicaciones a un mayor tamaño (no sólo el tamaño de los formularios sino el de las fuentes y por consiguiente el de los controles), tiene que aumentar los DPI del sistema, ésto puede buscarlo en el Panel de Control - Pantalla. En Windows 7 está en Panel de Control - Apariencia y personalización - Pantalla (en otros sistemas Windows en el artículo se explica dónde). Te he de decir que no todas las aplicaciones (incluso hablo de aplicaciones profesionales de uso muy extendido) muestran correctamente los controles cuando cambias los DPI, es una faceta por lo visto muy descuidada en programación .
A nivel de Delphi, como se explica en el artículo, si dejas la propiedad Scaled de un TForm a TRUE, te escalará el formulario y todo lo que contenga en esa máquina con los DPI cambiados, pero no verás nada diferente en una máquina con los DPI por defecto (=96), como parece ser tu caso.
En cuanto al componente TFormAutoScaler que te has bajado, si lo sueltas sobre un formulario sin más, no añade nada diferente al comportamiento por defecto de Delphi, salvo que sirve para evitar algunos comportamientos desagradables en versiones antiguas de Delphi cuando Scaled es TRUE. Pero en tu máquina, al tener los DPI normales, no verás cambio alguno. Si quieres ver una simulación de cómo se verá el formulario en la máquina de tu cliente, altera entonces la propiedad RuntimeDPI, por ejemplo ponla a 120. Cuando esta propiedad está a 0, entonces se toman los DPI que tenga el sistema, cuando es igual o mayor a 36 (por debajo de esa cantidad no se efectúan escalados), entonces el formulario se escala a ese valor, puedes comprobarlo. Una vez lo hayas probado, deberás cambiarlo de nuevo a 0 para que se ajuste a los DPI de tu cliente, de lo contrario lo verá con los DPI fijos que le asignaste.
Lo de escalar los formularios de una aplicación tiene su miga, y te darás cuenta de que hay que trabajarse cada formulario, pues se dan algunos comportamientos extraños, como ya advierte el artículo, hay detalles que no se han cuidado lo suficiente en Delphi, yo diría que hasta Delphi 2010 no se corrigieron la mayoría de inconvenientes, aunque sigue habiendo componentes que no es escalan como deberían, tú mismo verás cuáles se ajustan a la nueva resolución y cuáles no (en el artículo se mencionan unos cuántos).
Si tienes alguna duda u observas algun comportamiento extraño en el componente no dudes en señalarlo y lo revisaré.
Saludos