Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-02-2005
galmacland galmacland is offline
Miembro
 
Registrado: nov 2004
Posts: 48
Poder: 0
galmacland Va por buen camino
Exclamation Resolucion grafica de aplicacion

hola, he realizado una aplicacion con una resolucion grafica de 1024x768, se visualiza perfectamente segun su diseño, pero hay usuarios que harian uso de esta y su resolución no excede de los 800x600 y se ve demasiado grande el programa, no se ajusta a la pantalla muy bien y es bastante incomodo de trabajar, quisiera que se ajustara relativamente a la resolucion, como hago...
gracias por las sugerencias........
Responder Con Cita
  #2  
Antiguo 01-02-2005
Avatar de argami
argami argami is offline
Miembro
 
Registrado: jun 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
argami Va por buen camino
es un problema con el que nos hemos encontrado:

Puedes detectar la resolucion de la pantalla con el Screen.Width y screen.Heigth y saber si la pantalla es mas grande o mas pequeña de 1024x768 con esto y una regla de tres sabes en que tanto porciento es la pantalla mas pequeña.

i diras para que me sirve todo esto??
pues puedes usar una funcion que se llama scaleby(M, D) puedes decirle cuanto es la modificacion de los componentes
Código:
    Scaleby(75, 100) //esto es un 75%
para hacer esto te toca lo mas puñetero tienes que repasarte cada uno de los componentes que hay en la pantalla hacerle el Scaleby y ademas con el porcentaje tendrias que ajustar la fuente, el left y el top.

te podria dar una pista de que puedes hacer una rutina generica usando la rutinas de obtener las propiedades, del TypInfo.

espero que esto te ayude
__________________
Gami

------------------------------------------------------------------
La necesidad no tolera tardanzas pero mas vale tarde que nunca
Responder Con Cita
  #3  
Antiguo 01-02-2005
galmacland galmacland is offline
Miembro
 
Registrado: nov 2004
Posts: 48
Poder: 0
galmacland Va por buen camino
Unhappy gracias pero....

necesito esto lo antes posible y creo que me demoraria demasiado, gracias de todas formas.... sigo en espera de mas sugerencias....
Responder Con Cita
  #4  
Antiguo 01-02-2005
Avatar de argami
argami argami is offline
Miembro
 
Registrado: jun 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
argami Va por buen camino
vale lo acepto me equivoque usa esto y ya lo tienes si quieres cambiar el ajuste juegas con las cantidades
Código:
Procedure AjustForm(Form:TForm);
begin
  With Form do
  begin
     ScaleBy (75, 100);
     Width := Width * 0.75;
     Height := Height * 0.75;
  end;
end;
__________________
Gami

------------------------------------------------------------------
La necesidad no tolera tardanzas pero mas vale tarde que nunca
Responder Con Cita
  #5  
Antiguo 01-02-2005
galmacland galmacland is offline
Miembro
 
Registrado: nov 2004
Posts: 48
Poder: 0
galmacland Va por buen camino
Exclamation pues...no, aun nada

gracias mil por tu ayuda, pero no, no consigo una relatividad entre los objetos y la form, todo se mueve de lugar tratando de ajustarse... keep on trying
Responder Con Cita
  #6  
Antiguo 01-02-2005
Avatar de argami
argami argami is offline
Miembro
 
Registrado: jun 2003
Ubicación: Barcelona
Posts: 57
Poder: 21
argami Va por buen camino
Código:
Procedure AjustForm(Form:TForm);
var I:Integer;
begin
  With Form do
  begin
    For I:= 0 to ComponentCount - 1 do
    begin
      if (Components[i] is Tcontrol) then
      begin
        if (Components[i] is TWinControl) then
        begin
          Twincontrol(Components[i]).ScaleBy (75, 100);
        end else begin
          Tcontrol(Components[i]).Width := Trunc(Tcontrol(Components[i]).Width * 0.75);
          Tcontrol(Components[i]).Height := Trunc(Tcontrol(Components[i]).Height * 0.75)
        end;
        Tcontrol(Components[i]).Left  :=  Trunc(Tcontrol(Components[i]).Left * 0.75);
        Tcontrol(Components[i]).Top   :=  Trunc(Tcontrol(Components[i]).Top * 0.75);
      end;
    end;
    Width := Trunc(Width * 0.75);
    Height := Trunc(Height * 0.75);
  end;
end;
si esto te va solo hay que ajustar la fuente espero que te sirva
__________________
Gami

------------------------------------------------------------------
La necesidad no tolera tardanzas pero mas vale tarde que nunca
Responder Con Cita
  #7  
Antiguo 10-05-2011
Avatar de Diego827
Diego827 Diego827 is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 157
Poder: 14
Diego827 Va por buen camino
Arrow Para no usar Scaleby en todos los componentes

Para no tener que "poner a escala" todos los componentes puedes poner scaleby a el form en el evento FormCreate, asi cuando se muestre de una vez crea a escala todos tus componentes.

Última edición por Diego827 fecha: 10-05-2011 a las 19:27:23.
Responder Con Cita
  #8  
Antiguo 10-05-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Espero que después de 6 años, la respuesta le sea útil


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #9  
Antiguo 10-05-2011
Avatar de Diego827
Diego827 Diego827 is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 157
Poder: 14
Diego827 Va por buen camino
Wink

Cita:
Empezado por maeyanes Ver Mensaje
Hola...

Espero que después de 6 años, la respuesta le sea útil


Saludos...
Pregunta: ¿Cuando tienes una duda informática que haces?:

1. Buscas en un foro un tema que concuerde con tu duda y obviamente encuentres la solución allí: NO TE IMPORTA SI FUE 20000 AÑOS ATRAS IGUAL TE SIRVE. SI no creas un hilo nuevo.

2. Un nuevo hilo de primas a primeras. (y a esperar que "alguien" responda).

Al menos yo primero busco y si no encuentro a crear un tema.

Ahora cuando alguien lo desee y busque puede que mi comentario le ayude, al menos esa es la intensión.
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


La franja horaria es GMT +2. Ahora son las 00:08:13.


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