Einzelnen Beitrag anzeigen

fanavity

Registriert seit: 2. Sep 2011
65 Beiträge
 
#15

AW: dbGrid Zeile farbig markieren und fokusieren

  Alt 26. Okt 2011, 14:37
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.. :/
  Mit Zitat antworten Zitat