Einzelnen Beitrag anzeigen

WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#1

StringGrid DrawText: über PopUpMenu Farbe ändern

  Alt 10. Sep 2007, 13:44
Hallo Gemeinde,

Folgendes habe ich vor:
in einem StringGrid werden verschiedene Daten abgebildet. Der Nutzer soll nun via Popup-Menu beim Click auf eine
Zelle die Farbe dieser ändern können. Bisher habe ich folgendes:

Delphi-Quellcode:
Procedure PM_Fert_FT(Sender:TObject);
var oldFontCol:Tcolor; oldBrush:TColor;
    ACol,ARow:integer;
    aRect:TRect ;
    aStr:String;
Begin
with mainform do
Begin
oldFontCol:=STGRP_Fert_FT.Canvas.Font.Color;
oldBrush:=STGRP_Fert_FT.Canvas.Brush.Color ;
aRect:=Rect(ACol,ARow,ACol,ARow);
aStr:=STGRP_Fert_FT.Cells[ACol,ARow];
case TMenuItem(Sender).Tag of
  0:Begin
      ACol:=STGRP_Fert_FT.Col;
      ARow:=STGRP_Fert_FT.Row;
      STGRP_Fert_FT.Canvas.Brush.Color :=clMoneyGreen ;
      STGRP_Fert_FT.Canvas.FillRect(aRect);

    End;
end;
DrawText(STGRP_Fert_FT.Canvas.Handle,PChar(aStr),
           length(aStr), aRect,DT_CENTER or DT_VCENTER or DT_SINGLELINE);

STGRP_Fert_FT.Canvas.Font.Color:=oldFontCol;
STGRP_Fert_FT.Canvas.Brush.Color:=oldBrush;
end;

end;
Nach dem Start kann ich nun das besagte Menu öffnen und die Farbe wählen.
Leider bekomme ich es nicht hin, dass die gewählte Farbe auch tatsächlich eingezeichnet wird.
Liegts am Code? Sollte doch soweit OK sein...


MFG
Steffen


EDIT: STGRP_Fert_FT ist das Grid,
PM_Fert_FT entsprechend das Menu
  Mit Zitat antworten Zitat