...die Titel in einem TDBGrid 2-zeilig beschriften (2)?

Autor: Ing. Fabián D.S.

Kategorie: 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