Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-09-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 17
mcs Va por buen camino
Reposicionar componentes al redimensionar formulario

Hola,

Antes de trabajar con Delphi, usaba Java con Swing. En general me gusta más el Delphi, pero hay algo que hecho de menos del Java: los layouts.

La gracia de los layouts (GridBagLayout, TableLayout, etc), es que no se colocan los componentes especificando los píxels, sinó en una posición más bien relativa. Ejemplo del TableLayout: si tenemos 5 componentes horizontales y 3 verticales, el primer componente estaría en la posición (0,0), el componente de la línea superior a la derecha sería el (5,0), etc.

Usando este sistema, tiene la gran ventaja que es el layout el que calcula la posición final (en píxels) del componente. Por tanto, si hacemos más grande un formulario, siempre se mantiene la estructura de los componentes, sin aparecer espacio en blanco en la nueva zona, etc. En otras palabras: que automáticamente se reposicionan y, dependiendo de la configuración de cada componente, se redimensionan.

Y mi pregunta es: hay algun componente (imago que heredado de un TForm o un TPanel) que haga exactamente esto? Más o menos se puede hacer jugando con los "anchor", pero es mucho más complicado y tampoco se consigue lo mismo...

Saludos,

Marc
Responder Con Cita
  #2  
Antiguo 03-09-2010
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 mcs.

No conocía ningún componente que hiciera lo que pedias...
Pero me interesó la posibilidad e hice unas pruebas.
Este es el código que me quedó, cuyo mayor mérito no es ser inédito (seguro miles ya lo hayan echo) sino que me llevó muchas pruebas de ensayo error...

Tira algunos componentes en un form y agregá esto en el evento OnCanResize.
Código Delphi [-]
procedure TForm1.FormCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
var
  i:Integer;
begin
  for i:= 0 to ComponentCount - 1 do
  begin
    TControl(Components[i]).Left:= Round(NewWidth * TControl(Components[i]).Left / Width);
    TControl(Components[i]).Top:=  Round(NewHeight * TControl(Components[i]).Top / Height);
  end;
end;

Por favor probalo bién...

Espero te sirva, a mi me entretuvo un buen rato...

Saludos.
Responder Con Cita
  #3  
Antiguo 06-09-2010
FaKWeb FaKWeb is offline
Registrado
 
Registrado: sep 2010
Posts: 2
Poder: 0
FaKWeb Va por buen camino
Exclamation

Buenas a todos, tengo una duda, veo que dieron una solucion al tema, yo solo queria saber si existe algun componente para insertar en el Form, que redimensione y reubique los botones y componentes del formulario. No se si esto es posible, ya que soy nuevo en Delphi. Solo programo en pascal, pero nunca con objetos. Antes, utilizaba Visual BAsic 6 y existia este tipo de componente. Desde ya gracias...
Responder Con Cita
  #4  
Antiguo 06-09-2010
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Si existe!

ResizeKit 2 y algunos mas!
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #5  
Antiguo 09-09-2010
AndyLupa AndyLupa is offline
Miembro
 
Registrado: ene 2006
Posts: 25
Poder: 0
AndyLupa Va por buen camino
Delphi5

ResizeKit 2 y algunos mas![/quote]


COMOCES ALGUNO PARA DELPHI5 QUE FUNCIONE BIEN NO SOLO CON COMPONENTES NATIVOS SINO CON COMPONENTES DE TERCEROS?
Responder Con Cita
  #6  
Antiguo 09-09-2010
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Thumbs up

Ecfisa, muchas gracias por tu aportación.

Muy sencillo y práctico y, además, sin componentes externos.

Salu2.
Responder Con Cita
  #7  
Antiguo 10-09-2010
FaKWeb FaKWeb is offline
Registrado
 
Registrado: sep 2010
Posts: 2
Poder: 0
FaKWeb Va por buen camino
Gracias por las respuestas... En la web de Torry, encontre algunos que podrian haberme servido.. Igual, por plena curiosidad proble el ide Delphi 10, y quede totalmente conforme.. Tiene todas esas opciones, de forma nativa, con solo controlar un par de parametros.. Para tenerlo en cuenta a la hora de cambiar el IDE.. Gracias a todos...
Responder Con Cita
  #8  
Antiguo 13-09-2016
edy_aca edy_aca is offline
Miembro
 
Registrado: nov 2003
Posts: 74
Poder: 21
edy_aca Va por buen camino
cual es

hola cual es el componente que encontraste gracias
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 componentes emeritos Varios 5 09-01-2009 20:14:52
Redimensionar componentes de un form madmai Varios 2 07-11-2007 12:02:48
Redimensionar Imagen a tamaño del formulario! kye_z Varios 2 09-11-2004 10:44:16
redimensionar forma con sus componentes edy_aca OOP 3 23-08-2004 22:29:47
Scalar Componentes al redimensionar Form jsc Varios 5 26-07-2004 17:50:16


La franja horaria es GMT +2. Ahora son las 07:24:30.


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