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 10-06-2010
gandalf_uy gandalf_uy is offline
Miembro
 
Registrado: ene 2005
Posts: 39
Poder: 0
gandalf_uy Va por buen camino
Red face 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
Responder Con Cita
  #2  
Antiguo 11-06-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 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.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 11-06-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 de nuevo.

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

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


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 11-06-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
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.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 11-06-2010 a las 08:45:28.
Responder Con Cita
  #5  
Antiguo 11-06-2010
gandalf_uy gandalf_uy is offline
Miembro
 
Registrado: ene 2005
Posts: 39
Poder: 0
gandalf_uy Va por buen camino
Muchas gracias... Ya lo estoy implementando...
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
Ordenar DBGrid haciendo clic en el titulo luxus Conexión con bases de datos 1 11-06-2008 23:18:15
DBGrid ordenar haciendo click en el titulo sonjeux Conexión con bases de datos 5 06-05-2008 19:28:19
dbgrid titulo de columnas vroa74 API de Windows 4 09-10-2007 23:01:23
Cambiar titulo en un dbgrid carlosegs11 SQL 3 31-05-2007 19:15:40
Cambiar el titulo de las Columnas de un DBgrid tramjauer OOP 2 28-01-2007 19:21:20


La franja horaria es GMT +2. Ahora son las 01:11:33.


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