Hallo zusammen,
ich wollte ein StringGrid mehrfarbig mithilfe des OnDrawCell- Events befüllen, welches zum Start des Programms mit diversen Werten gefüllt wird. Die Farbe wird dabei mit .Objects dem Feld übergeben.
Delphi-Quellcode:
procedure TForm.MyGridDrawCell(Sender: TObject; aCol,
aRow: Integer; aRect: TRect; aState: TGridDrawState);
var celltext: String;
color: TColor;
begin
with (Sender as TStringGrid) do
begin
color:= TColor(MyGrid.Objects[aCol, aRow]);
celltext := MyGrid.Cells[aCol, aRow];
canvas.Brush.Color:= color;
canvas.Font.Color:= clBlack;
Canvas.FillRect(aRect);
Canvas.TextOut(aCol, aRow, celltext);
end;
end;
Das Befüllen der Farbe funktioniert einwandfrei, nur der Text wird nur im 1. Feld gedruckt, alle anderen Felder bleiben leer. Woran kann das Problem liegen?