DruckenMister WongFacebook

Trennlinie im Stringgrid hervorheben

System Win9x, WinNT, Win2000, WinXP, Vista, Win7
Ab Delphi-Version Delphi 1
Letzte Änderung 28.09.2010

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.