Zwei Dinge fallen mir auf, die m.E. so nicht funktionieren können:
Zitat:
aRect:=Rect(ACol,ARow,ACol,ARow);
1. Das ergibt ein Rechteck mit jeweils gleicher Kantenlänge=Quadrat
2. ACol und ARow sind lokale Variable und haben einen undefinierten bzw x-beliebigen Wert..
Die Zuweisung erfolgt erst später
Zitat:
case TMenuItem(Sender).Tag of
0:Begin
ACol:=STGRP_Fert_FT.Col;
ARow:=STGRP_Fert_FT.Row;
...
und ist hier an der falschen Stelle
So wird das auf jeden Fall was:
Delphi-Quellcode:
//--Zellwerte holen
ACol:=STGRP_Fert_FT.Col;
ARow:=STGRP_Fert_FT.Row;
//--Zell-Rechteck zuweisen
aRect := STGRP_Fert_FT.CellRect(ACol, ARow);
...
Davon abgesehen erfolgt eine Farbänderung -/zuweisung m.E. immer im OnDrawCell-Ereignis, wenn sie dauerhaft sein soll. Hier bietet sich für deine Vorgehensweise evtl. das Zuweisen(=Merken) der jeweiligen Zellfarbe .