Hi,
ich muß folgendes machen : in Abhängigkeit von dem Wert, der in Spalte 1 eines Stringgrids eingegeben wird, soll Spalte 4 farblich anders dargestellt werden. Gesteuert wird das durch die Variable SP. Jetzt habe ich paar seltsame Effekte. Entweder werden alle Zeilen bunt, oder eine Zeile zu tief oder zu hoch. Irgendwas ist total verkehrt. 8)
Delphi-Quellcode:
procedure TfrmPreisEing.StringGrid1DrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
inherited;
with (Sender as TStringGrid) do begin
if (ACol = 0) or (ARow = 0) then
Canvas.Brush.Color := clBtnFace
else begin
if SP and (ACol = 4) and (ARow = RowCount - 1) then
begin
Canvas.Brush.Color := clMoneyGreen;
end
else
Canvas.Brush.Color := clWindow;
Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, cells[acol, arow]);
Canvas.FrameRect(Rect);
end;
end;
end;