Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Canvas del titulo de un DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=68389)

gandalf_uy 10-06-2010 22:36:37

Canvas del titulo de un DBGrid
 
Buenas:

Estoy intentando ajustar el ancho de una columna de un DBGrid dependiendo de los datos que esta contenga. Lo he logrado para saber cual es el ancho más grande de los datos que se despliega en la columna. Ahora, lo que me interesa comparar ese ancho que calculé, con el ancho del título. Y es ahí donde me estoy trancando. No estoy pudiendo saber cual es el ancho real del título, ya que tiene font y font.size distinto que el de las filas comunes.

Espero haber sido claro

Muchas gracias

ecfisa 11-06-2010 07:07:31

Hola gandalf_uy.

Ancho real del título de una columna de un DBGrid:
Código:

...
var
  AnchoTitulo: Integer;
begin
  with DBGrid1.Columns[0] do
    AnchoTitulo:=  Length(Title.Caption) * Canvas.TextHeight(Title.Caption);
  ...
end;

Saludos.

ecfisa 11-06-2010 07:40:22

Hola de nuevo.

Cometí un error por hacer los deberes de memoria...:o

Probé el código y...
lo que dice : Canvas.TextHeight(Title.Caption);
debería decir: DBGrid1.Canvas.TextWidth(Title.Caption) + Font.Size


Saludos.

ecfisa 11-06-2010 08:42:16

Aca de nuevo...

No quedé muy convencido de como ajustaba las columnas al título,
así que rehice la tarea...

Probé poniendo un DBGrid , un TSpinEdit y el resultado parece satisfactorio:

Código:

procedure TForm1.SpinEdit1Change(Sender: TObject);
var
  i: Byte;
begin
  with DBGrid1 do
  begin
      TitleFont.Style:= [fsBold];
      TitleFont.Size:= SpinEdit1.Value;
      for i:= 0 to Columns.Count - 1 do
        Columns[i].Width:= Canvas.TextWidth(' ') +
            Canvas.TextWidth(Columns[i].Title.Caption)
  end
 end;

Saludos.

gandalf_uy 11-06-2010 16:55:07

Muchas gracias... Ya lo estoy implementando...


La franja horaria es GMT +2. Ahora son las 05:15:03.

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