Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-02-2014
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
redimensionar forms

buenas. ya vi varios post referentes a esto a redimensionar forms en función del tamaño del monitor. cosa que alguno dice, que puede ser cierto, porque no se diseña desde un monitor o para un monitor más pequeño desde el principio porque luego pasa lo que pasa :-(
la pregunta final es si se puede sin tener que rehacer todo
gracias y perdón
Responder Con Cita
  #2  
Antiguo 24-02-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola anubis.

Fijate si lo comentado en este enlace es lo que estas buscando: Aplicación maximizada descolocada en la pantalla

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 26-02-2014
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Gracias eficsa, pero no veo muy bien el detalle, ya probe el codigo que pusiste:
Cita:
Código Delphi [-]
procedure TForm.FormCreate(Sender: TObject); const   Alto= 768;       // 768, ...   Ancho= 1024;  // 1366, ... begin   if Screen.PixelsPerInch = 96 then   begin    Height := Height * Screen.Height div Alto;    Width := Width * Screen.width div Ancho;    ScaleBy(Screen.Width,Ancho);  end  else if Screen.PixelsPerInch = 120 then  begin    Height := Height *Screen.Height div Alto;    Height := Height+((Height*15) div 100);    Width := Width * Screen.Width div Ancho;    Width := Width+((Width*15) div 100);    ScaleBy(Screen.Width,Ancho);    Top := Top - 70;    Left := Left - 70;   end   else   begin     Height := Height * Screen.Height div Alto;     Width := Width * Screen.width div Ancho;     ScaleBy(Screen.Width,Ancho);   end; end;
Estoy probando sobre un windows xp virtualbox cambiando la resolucion y no funciona bien.
No se si es lo que se pretendia, pero desgraciadamente, lo que yo queria es que un proyecto realizado primeramente para pantallas algo grandes y que se ve bien, ahora que tengo que pasarlo a otra computadora con pantalla de resolucion mas pequeña, me lo escale como si fuera la grande, es decir, que se vea a razon de la pantalla sin tener que rediseñar de nuevo todo el form.

Si, cierto, y repito que teneis razon en otro post, que esas cosas se preveen porque luego pasa lo que pasa.
Responder Con Cita
  #4  
Antiguo 26-02-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola anubis.

Siempre que el equipo a instalar la aplicación soporte la resolución en que se compiló, en Delphi me ha funcionado.

Ya que no lo había intentado antes, hice una prueba en Lazarus y tambíen funciona. Para realizarla, compilé un form con unos cuantos controles en resolución 1024x768 que es soportada por la mayoría.

El código de prueba que usé es similar al anterior:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
const
  // Valores de resolución del monitor al momento de compilar 
  Ancho = 1024; 
  Alto  = 768;        
begin
  if Screen.PixelsPerInch = 96 then
  begin
   Height := Height * Screen.Height div Alto;
   Width := Width * Screen.width div Ancho;
   ScaleBy(Screen.Width,Ancho);
 end
 else if Screen.PixelsPerInch = 120 then
 begin
   Height := Height *Screen.Height div Alto;
   Height := Height+((Height*15) div 100);
   Width := Width * Screen.Width div Ancho;
   Width := Width+((Width*15) div 100);
   ScaleBy(Screen.Width,Ancho);
   Top := Top - 70;
   Left := Left - 70;
  end
  else
  begin
    Height := Height * Screen.Height div Alto;
    Width := Width * Screen.width div Ancho;
    ScaleBy(Screen.Width,Ancho);
  end;
end;
Luego pasé el ejecutable a un equipo de escritorio ejecutándolo en resoluciones desde 800x600 a 1280x768 y en todas mostró el form adaptado a la resolución.

Pero no pude probar con Windows XP virtualbox ya que no lo dispongo, tal vez allí tenga un comportamiento diferente.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 02-03-2014
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
gracias eficsa,

lo que estoy viendo es que si aplico el codigo al programa que hice, en la resolucion que lo hice me sale todo descolocado, pero si cambio la resolucion de la pantalla a 1024x768, mas o menos, se ve bien.

Lo que entiendo es que el form lo tengo que hacer es como si fuera 1024x768, si lo hago a mas resolucion ya hay un problema porque se pierde en la pantalla.

Lo que no entiendo es el tema del screen.pixelsperinch=96, eso lo da el monitor o es una referencia standard porque ya probe a cambiar esa referencia y da lo mismo a efectos.


Un saludo y gracias amigo
Responder Con Cita
  #6  
Antiguo 02-03-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola anubis.

Revisa los puntos que se mencionan en este enlace: Multi-Resolution Delphi Applications, aunque tratan sobre Delphi estimo que tienen que ser igualmente aplicables a Lazarus.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Redimensionar imagenes hmv Gráficos 2 27-10-2007 09:39:00
Redimensionar ToolBar JGO Gráficos 0 17-04-2006 17:54:00
No redimensionar forms karocs Varios 2 13-05-2005 16:12:09
Redimensionar un arreglo darkone2k3 Varios 11 02-11-2003 01:14:40
Redimensionar JPG xflo Lazarus, FreePascal, Kylix, etc. 0 01-07-2003 12:43:57


La franja horaria es GMT +2. Ahora son las 20:27:56.


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
Copyright 1996-2007 Club Delphi