StringGrid - kolorowanie komórki

0

Witam

Potrzebuje w SringGridzie zaznaczyć kolorem nie które wiersze. Te które mają być kolorowe w jednej z kolumn mają wpisany "x".

W zdarzeniu StringGrid1DrawCell wpisałem:

     StringGrid1.Canvas.Brush.Color := clFuchsia;
    StringGrid1.Canvas.FillRect(aRect);   

Komórki są kolorowe lecz nie widać w nich tekstu (tekst jest - edytując komórkę można go zobaczyć, lecz jest on "przykryty").
Podpowiedzcie mi co zrobić aby tekst był widoczny.

Z góry dziękuję, pozdrawiam

0

Na pewno chodzi o Canvas? A nie o jakąś właściwość określająca tło komórek?

0

Po pomalowaniu komórki musisz samodzielnie odrysować tekst (ja najchętniej używam funkcję DrawText).

0
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  S : String;
begin
  StringGrid1.Canvas.Brush.Color := clBlue;
  StringGrid1.Canvas.FillRect(Rect);
  S := StringGrid1.Cells[ACol, ARow];
  StringGrid1.Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, S);
end;
0

ODFh kod który podałeś oczywiście działa :)
Możecie mi wytłumaczyć działanie: StringGrid1.Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, S); ?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.