Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas con las resoluciones de pantalla (https://www.clubdelphi.com/foros/showthread.php?t=63492)

Yasnet 17-02-2009 03:53:02

Problemas con las resoluciones de pantalla
 
Es posible que al hacer un programa con una resolucion de 1280 x 800 corra en una maquina con una resolucion de 600 x 800 (o a cualquier resolucion) sin tener que estar modificando el diseño de las formas, es decir, estar haciendo todo mas chico para que pueda verse perfectamente.

Si alguien sabe si es posible le agradeceria que me lo pudieran decir

Neftali [Germán.Estévez] 17-02-2009 09:45:16

Yo creo que la única solución es hacer los formularios pensando en la resolución inferior.
Puede haber algunos formularios (tipo Grid/Browse) que al hacerlos más pequeños puedan verse de forma "decente" puesto que aparecen barras de desplazamiento, pero en la mayoría (tipo edición con componentes de edición) si se han diseñado para una resolución más grande poca cosa vas a poder hacer para que se vean bien.

pablopessoa 17-02-2009 13:18:56

hola! te paso una funcion que a mi me sirve muy bien para ajustar las resoluciones de pantalla. Antes qeu nada te comento que lo que hago yo es meter un Tpanel que ocupe todo el formulario y redimensiono el Tpanel con este codigo :

Código Delphi [-]
var
  x,y:integer;
begin
  x:=Screen.Width;
  y:= Screen.Height;
  if ((x<1024)and (y<768))  then
  begin
        Height := Height * y div alto;
        Width := Width * x div ancho;
        ScaleBy(Screen.Width, ancho);
        panel1.ScaleBy(Screen.Width, ancho);
  end;

alto y ancho son constantes que contienen los valores 800 y 600 que se toman como parametro para escalar el Tpanel

Otra cosa tambien es que yo lo hago pensando lo siguiente:
1- si la resolucion es igual o mayor a 1024x 768 no necesito escalar por que entraria bien
2- si la resolucion es menor a 1024x768 ahi escalo a 800x600, ya que 640x480 no usa nadie (y si alguien lo usa en 640x480 que se compre anteojos y ponga una resolucion razonable jajajaaj)

Saludos!

Patricio 26-03-2009 13:58:20

yo tambien la use
 
Yo use dicha funcion y anda muy bien, encontre problemas en una notebook que con una resolucion fuera de lo normal no se veia una fila en la parte inferior de la pantalla, el tema es que las imagenes que tenga en el formulario como puedo hacer para que tambien se agranden en la misma proporcion que el resto? Gracias

MAXIUM 26-03-2009 15:23:28

en el Form.Create

Código Delphi [-]
// Redimensiona la aplicación en base a la resolución de la pantalla.
     ScaleBy(Screen.WorkAreaHeight*Width Div Height, Width);
     Height:= Screen.WorkAreaHeight;
     Left:= (Screen.Width - Width) Div 2;
     BorderIcons:= BorderIcons - [biMaximize];
     Top:= 0;

Propiedad del formulario
BorderStyle = bsSingle
ClientHeight = 542
ClientWidth = 792

Patricio 27-03-2009 14:09:34

lo voy a...
 
lo voy a probar y aviso. muchas gracias. No me reconoce "Screen.WorkAreaHeight" estoy usando delphi5, probe con screen.DesktopHeight es lo mismo?

MAXIUM 27-03-2009 15:42:08

Screen.WorkAreaHeight : Es el area de trabajo osea todo el espacio que hay en pantalla sin contar con la barra.
Screen.DeskTopHeight : Es todo el area de la pantalla incluyendo la barra.

Si no tienes esa función en tu versión de Delphi, puedes usar Screen.WorkAreaHeight = Screen.DeskTopHeight - tamaño en pixeles de la barra.

Patricio 31-03-2009 14:20:23

no logro que se dimensionen las imagenes...
 
Hola e probado varias opciones de dimensionar la aplicacion para distintas configuraciones pero si tengo una imagen en el formulario, la misma se mantiene del mismo tamaño sin ningun tipo de escalamiento, que me aconsejan hacer para que si se dimensiona el formulario tambien lo haga la imagen? o lo tengo que hacer en forma manual x cada imagen, es decir si mi aplicacion esta diseñada para 800 x 600, captar que resolucion tiene el usuario y agrandar cada imagen un tanto % de acuerdo a como este la resolucion del usuario.
Gracias


La franja horaria es GMT +2. Ahora son las 18:04:32.

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