Ver Mensaje Individual
  #6  
Antiguo 02-01-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Tengo esta otra información, que debo reconocer no he probado, haz la prueba y nos cuentas si funciona correctamente.

Cita:
Adaptar el formulario a la resolución de pantalla
(Por Francisco Charte)


Este es uno de los temas que más quebraderos de cabeza nos da a los programadores. La solución, generalmente, nunca es sencilla. Los formularios Delphi cuentan con dos propiedades, Scaled y PixelsPerInch, cuya finalidad es adaptar el tamaño de letra cuando la resolución del sistema en que se ejecuta el programa difiere de la que se utilizó en el momento del desarrollo. Esto, usado conjuntamente con el método ScaleBy, nos puede facilitar mucho el trabajo. Básicamente podemos seguir dos métodos para conseguir que nuestras ventanas se vean siempre bien indistintamente de la resolución usada. El primero consiste en calcular la relación existente entre la resolución en que se diseñó y la resolución actual, aplicándola al tamaño del formulario, los controles y los tipos de letra. El segundo método consiste en calcular el tamaño del formulario y de todos los elementos existentes en él de forma proporcional al espacio disponible en pantalla. Aparentemente parece lo mismo, pero no lo es. Puede ver cómo actúa el primer método creando un formulario, insertando en él los controles que desee, y escribiendo el código siguiente:

const
ancho = 640; // Ancho del diseño
alto = 480; // Alto del diseño
procedure TForm1.FormCreate(Sender: TObject);
begin
Height := Height * Screen.Height div alto;
Width := Width * Screen.Width div ancho;
ScaleBy(Screen.Width, ancho);
end;


Las constantes Ancho y Alto deben almacenar la resolución usada durante el diseño. En el momento en que se crea el formulario, se calcula la relación existente entre el modo de diseño y el modo actual, cuyas dimensiones tomamos del objeto Screen. La llamada al método ScaleBy se encargará de modificar proporcionalmente el tamaño de todos los controles, adaptando también los tipos de letra. Indistintamente del método que se utilice, hay que asegurarse de que la visualización es correcta en todos los modos habituales. Para ello lo mejor es ejecutar el programa al menos en las resoluciones de 640x480 y 1024x768 usando fuentes de letra pequeñas y grandes.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita