Ver Mensaje Individual
  #9  
Antiguo 03-10-2011
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Reputación: 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