Anbei mal eine Mini-Demo.
Danke
Die hat mir schon ein wenig auf die sprünge geholfen.. Aber leider ist nun alles in einer Farbe, aber ich verstehe nicht wieso. :/
Delphi-Quellcode:
function TForm2.UnterschiedFeststellen(ACol, ARow: integer): Boolean;
begin
Result := ARow > StringGrid1.FixedRows;
if Result then
Result := StringGrid1.Cells[ACol, ARow] <> StringGrid1.Cells[ACol, ARow - 1];
end;
procedure TForm2.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
With (Sender as TStringGrid) do
begin
if (gdSelected in State) then
Canvas.Brush.Color:= clYellow
else if (gdFixed in State) then
else
if UnterschiedFeststellen(2, ARow) then
Begin
canvas.Brush.Color:= clWhite;
Canvas.Font.Color:= clBlack;
end
else
Canvas.Brush.Color:= clBtnFace;
Canvas.Font.Color:= clBlack;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, StringGrid1.Cells[ACol, ARow]);
end;
end;
Vielleicht habe ich ja einen Fehler eingebaut oder so.. Ich finde ihn jedenfalls nicht.. :/