Einzelnen Beitrag anzeigen

Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#1

Die Farbe der aktiven Zelle in einem Stringgrid auslesen

  Alt 4. Nov 2007, 17:55
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 ...
  Mit Zitat antworten Zitat