Einzelnen Beitrag anzeigen

Grizu

Registriert seit: 22. Aug 2016
20 Beiträge
 
Delphi 10.1 Berlin Professional
 
#9

AW: TStringGrid zellen färben

  Alt 13. Okt 2016, 00:22
je später der Abend umso einfacher die Lösung...grins.

Dank dem Ansatz von Markus und vielen vielen Lösungsversuchen habe ich es hin bekommen. ob das so die schönste und eleganteste Lösung weiß ich nicht. Aber es geht.
man verschiebt einfach vor dem FillRect den Rect.Left nach links und schon füllt er weiter aus.....

Danke nochmals für eure Hilfe.


Hier nochmal der Code:

Delphi-Quellcode:
procedure Tm_settings.tab_visu_settingsDrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
  var
  gr : TStringGrid;
begin
gr := (Sender as TStringGrid);

if not odd(aCol) and not (gdFixed in State) then begin
  gr.Canvas.Brush.Color := TColor($D9D9C0);
  Rect.Left := Rect.Left - 4;
  gr.Canvas.FillRect(Rect);
  gr.Canvas.TextOut(Rect.Left + 3, Rect.Top + 4, gr.Cells[ACol, ARow]);
end;

if (ARow = 5) then begin
  gr.Canvas.Brush.Color := TColor($FFCC99);
  Rect.Left := Rect.Left - 5;
  gr.Canvas.FillRect(Rect);
  gr.Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, gr.Cells[ACol, ARow]);
end;

end;
Und noch einen finalen Screenshot:
Miniaturansicht angehängter Grafiken
rect.jpg  
  Mit Zitat antworten Zitat