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 03-10-2011
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
A eso me refiero newtron, para el caso de los Dbgrid o cualquier otro componente con características similares, tengo que ir columna por columna y cabecera por cabecera redimensionando, ¿verdad?.

Gracias Ecfisa
Gracias Newtron
Responder Con Cita
  #2  
Antiguo 03-10-2011
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Así es como lo he solucionado...

En la propiedad Align del form debe de llevar alClient, para que ocupe toda la pantalla.


Cita:
x:=Screen.Width;
y:= Screen.Height;

Height := Height * y div alto;
Width := Width * x div ancho;

ScaleBy(Screen.Width, ancho);
//El dbgrid no hace falta escalarlo porque lo hace según su contenido (ver a continuación)
// Dbgrid1.ScaleBy(Screen.Width, ancho);
Dbgrid1.Columns[0].Width:=Dbgrid1.Columns[0].Width * x div ancho;
Dbgrid1.Columns[1].Width:=Dbgrid1.Columns[1].Width * x div ancho;
Dbgrid1.Columns[2].Width:=Dbgrid1.Columns[2].Width * x div ancho;
Dbgrid1.Columns[3].Width:=Dbgrid1.Columns[3].Width * x div ancho;
Dbgrid1.Columns[4].Width:=Dbgrid1.Columns[4].Width * x div ancho;

Dbgrid1.Columns[0].Title.Font.Size:=Dbgrid1.Columns[0].Title.Font.Size * x div ancho;
Dbgrid1.Columns[1].Title.Font.Size:=Dbgrid1.Columns[1].Title.Font.Size * x div ancho;
Dbgrid1.Columns[2].Title.Font.Size:=Dbgrid1.Columns[2].Title.Font.Size * x div ancho;
Dbgrid1.Columns[3].Title.Font.Size:=Dbgrid1.Columns[3].Title.Font.Size * x div ancho;
Dbgrid1.Columns[4].Title.Font.Size:=Dbgrid1.Columns[4].Title.Font.Size * x div ancho;
Habría que ver la forma de optimizar el código para no repetir tanto Columns[0], [1], etc. y el formulario queda perfecto sea cual sea la resolución donde se vaya a mostrar.
Responder Con Cita
  #3  
Antiguo 03-10-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
newtron Va camino a la fama
Bueno, si no me equivoco tu código se podría optimizar un poco de la siguiente manera:

Código Delphi [-]
For N:=0 to Dbgrid1.Colcount do begin
  Dbgrid1.Columns[N].Width:=Dbgrid1.Columns[N].Width * x div ancho;
  Dbgrid1.Columns[N].Title.Font.Size:=Dbgrid1.Columns[N].Title.Font.Size * x div ancho;
end;

Saludos
__________________
Be water my friend.
Responder Con Cita
  #4  
Antiguo 03-10-2011
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
Cita:
Empezado por Parsec Ver Mensaje
Habría que ver la forma de optimizar el código para no repetir tanto Columns[0], [1], etc.
No lo probé pero creo que así debería funcionar sin problemas:
Código Delphi [-]
...
var
  i: Integer;
begin
  ...
  with DBGrid1 do
    for i:= 0 to Columns.Count -1 do
    begin
      Columns[i].Width:= Columns[i].Width * x div ancho;
      Columns[i].Title.Font.Size:= Columns[i].Title.Font.Size * x div ancho;
    end;
end;

Un saludo.

Edito: newtron, me alegra saber que tenemos en común algo más que la viajera...
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 03-10-2011 a las 18:02:34.
Responder Con Cita
  #5  
Antiguo 03-10-2011
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 Parsec.

Me acabo de acordar del método ScaleControls:
Código Delphi [-]
...
type
  TDBGrid = class(DBGrids.TDBGrid);
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
  ...

implementation

...
begin
  DBGrid1.ScaleBy(1024, Screen.Width);
  DBGrid1.ScaleControls(1024, Screen.Width);
end;
Pero tendrías que probar si realiza lo que buscas en las diferentes resoluciones...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 03-10-2011
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Lo probaré Ecfisa.

Muchas gracias Newtron y Ecfisa por la ayuda.

Saludos cordiales
Responder Con Cita
  #7  
Antiguo 03-10-2011
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.481
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por ecfisa Ver Mensaje
Edito: newtron, me alegra saber que tenemos en común algo más que la viajera...
Ojalá amigo ecfisa, ojalá porque creo que me faltarán vidas para llegar a tu nivel.
__________________
Be water my friend.
Responder Con Cita
  #8  
Antiguo 03-10-2011
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
Cita:
Empezado por newtron Ver Mensaje
Ojalá amigo ecfisa, ojalá porque creo que me faltarán vidas para llegar a tu nivel.
Vas a tener que repetir ese mantra varias vidas seguidas para que alguién (sobre todo yo) pueda creerlo...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 03-10-2011 a las 23:40:10.
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
Captura de pantalla (de formulario) Duc Gráficos 5 05-03-2009 18:30:46
QuickRep.Preview deja de ocupar toda la pantalla Tcmn Impresión 1 28-10-2006 01:29:51
Visualizar una pagina asp sin que ocupe toda la pantalla mamen .NET 6 12-11-2004 14:32:40
Form que ocupe toda la pantalla Mauro® Varios 2 10-06-2004 23:07:55
forma que ocupe toda la pantalla cahosoft Varios 7 01-05-2004 01:28:05


La franja horaria es GMT +2. Ahora son las 06:45:40.


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