Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #14  
Antiguo 20-01-2016
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 19
shoulder Va por buen camino
dbgrid wrap

Hola lo que busco es el wrap no el autosize, lo encontre pero a mi no me funciona, les paso el ejemplo y el link, pero me entra en un loop infinito, es decir al fijar el ancho de columna el campo agranda el alto de la fila para que entre todo ahi. Probe toda la mañana veo en el loop que me lo hace pero no corta. En sistensis seria el mutiline de una fila de dbgrid.






Código Delphi [-]
type
  THackDBGrid = class (TDBGrid)
  public
    property RowHeights;
  end;

procedure TFormx.DBGrid3DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);

var
  HackGrid: THackDBGrid;
  Ind: Integer;
  lRec: TRect;
  Str: AnsiString;
  DS: TDataSet;
  uForm, uCurr: Cardinal;
  NH, valor: Integer;
begin
    DS  := (Sender As TDBGrid).DataSource. DataSet;
    Ind := DS.RecNo;
    Str := DS.FieldByName (Column.FieldName).DisplayText;
    lRec := Rect;
    lRec.Left := lRec. Left + 1;
    lRec.Right:= lRec. Right - 1;
    (Sender As TDBGrid).Canvas. FillRect (lRec);
    NH := lRec. Bottom - lRec.Top;
    //Set an alignment to the text in the cell
    case Column. Alignment of
      taLeftJustify: uForm := DT_SINGLELINE or DT_LEFT;
      taRightJustify: uForm:= DT_SINGLELINE or DT_RIGHT;
      taCenter: uForm:= DT_SINGLELINE or DT_CENTER;
    end;
    //Set an advanced alignment to the text in the cell (Tag value of the field is used)
    valor := DS.FieldByName(Column.FieldName).DataSize;


    if valor > 50 then
     begin
       uForm := DT_WORDBREAK or DT_CALCRECT;
       NH := DrawText ((Sender As TDBGrid).Canvas. Handle, PAnsiChar (Str),-1, lRec,     uCurr)    + 2;
       uForm := DT_WORDBREAK;
       lRec.Bottom := lRec.Top + NH;
       HackGrid:= THackDBGrid (DBGrid3);
       HackGrid.RowHeights[Ind]:= NH;

      uCurr:= uForm;
      DrawText ((Sender As TDBGrid).Canvas. Handle, PAnsiChar (Str),-1, lRec, uCurr);

     end;

el link original esta aqui.

http://www.delphipages.com/forum/sho...d.php?t=216440

o

http://www.progtown.com/topic106385-...ne-dbgrid.html
Responder Con Cita
 



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
Como fijar el tamaño de una columna de un DBGrid en runtime darkamerico OOP 2 31-01-2013 15:08:55
Ajustar ancho de columna en DBGRID Viky Varios 2 15-07-2010 18:39:48
Tamaño de Columna en un dbgrid m.ruiz Varios 4 19-04-2007 10:07:16
Ajustar tamaño Barcode hepdad Impresión 2 05-04-2006 15:29:41
Ajustar Tamaño de Columnas en DBGrid. Essato Varios 1 26-06-2005 00:34:18


La franja horaria es GMT +2. Ahora son las 21:59:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi