...show TDBgrid title column captions in two rows (2)?

Author: Ing. Fabián D.S.

Category: VCL

type
  
TADBGrid = class(TDBGrid);

  //...

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  
Al: Cardinal;
  R: TRect;
begin
  
R := Rect;

  with TADBGrid(Sender) do
  begin
    
RowHeights[0]      := DefaultRowHeight * 2;
    Canvas.Brush.Color := FixedColor;

    InflateRect(R, - 2, - 2);
    R.Top    := 2;
    R.Bottom := RowHeights[0] - 1;
    Canvas.FillRect(R);
    case Column.Title.Alignment of
      
taCenter: Al       := DT_CENTER;
      taLeftJustify: Al  := DT_LEFT;
      taRightJustify: Al := DT_RIGHT;
    end;

    Al := Al or DT_WORDBREAK or DT_END_ELLIPSIS;

    DrawText(Canvas.Handle, PChar(Column.Title.Caption), - 1, R, Al);
  end;
end;

 

printed from
www.swissdelphicenter.ch
developers knowledge base