Home » Tipps & Tricks » Komponenten » TStringGrid » Trennlinie im Stringgrid hervorheben

Trennlinie im Stringgrid hervorheben

Um die Anzeige von Werten in einem Stringgrid besser zu gliedern, können Sie einzelne Zellen farblich hervorheben (siehe Verweise) oder durch eine stärkere Linie von anderen Zellen trennen.Mithilfe des Ereignisses OnDrawCell können Sie die grafische Ausgabe eines Grids selbst steuern. Folgendes Beispiel zeichnet unter der vierten Zeile eine 2 Pixel starke, schwarze Trennungslinie. Fixierte Zellen werden dabei ignoriert:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if (ARow = 3) and not (gdFixed in State) then 
  begin
    with StringGrid1.Canvas do 
    begin
      Pen.Color := clBlack;
      Pen.Width := 2;
      Pen.Style := psSolid;
    
      MoveTo(Rect.left-1, Rect.Bottom);
      Lineto(Rect.right-1, Rect.Bottom);
    end;
  end;
end;

Bei Delphi 3 muss aus dem ACol, bzw. aus dem ARow ein Col bzw. ein Row gemacht werden.