Hallo,
ich verwende ein Stringgrid in welchem ich die Spalten eingefärbt habe.
Wenn ich auf eine Zelle klicke möchte ich gern die Farbe der Zelle auslesen.
Ich habe hier im Forum Code gefunden um einzelne Zellen im Edit-Moment zu setzen.
Diesen habe ich modifiziert um die Farbe zu lesen
Delphi-Quellcode:
...
type
THackedStringGrid = class(TStringGrid);
TColorInplaceEdit = class(TInplaceEdit)
published
property Color;
end;
...
const cGridOkColor : TColor = $0080FF80; // Helles Grün
cGridErrColor : TColor = $004A4AFF; // Helles Rot
...
procedure Tfrm_main.StringGridNotenGetEditText(Sender: TObject; ACol, ARow: Integer; var Value: string);
begin
...
// Prüfen der Zellfarbe
if (TColorInplaceEdit(THackedStringGrid(Sender).InplaceEditor).Color = cGridErrColor) then
begin
// Hier ist die Zelle rot
...
end
else
begin
// Hier ist die Zelle grün
...
end;
end;
Aber der gelesene Color-Wert liegt immer bei -16777211
Was mache ich denn falsch?
Oder kann ich die Zellenfarbe anders ermitteln?
Gruß Holger
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...