Einzelnen Beitrag anzeigen

Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#1

StringGrid OnDrawCell, eigener Inhalt wird überschrieben, wenn Zelle selektiert

  Alt 9. Aug 2012, 15:08
Hiho, ich nutze die Standard Windows VCL. Im OnDrawCell möchte ich gerne in bestimmten Fällen den Inhalt einer Zelle ändern. (Es soll später ein kleines Bild in die Zelle, der Zelltext soll eingerückt werden).

Das Einrücken übernehme ich nun testweise im OnDrawCell, was auch klappt, bis die entsprechende Zelle selektiert ist:

Delphi-Quellcode:
   if (arow>0) and (acol=1) then
   begin
     if pos('TICKETNUMBER',orderby)>0 then
     begin
       if (DL[arow-1].ticketNumber<>-1) and (ExitsSameTicketNumberBefore(arow-1, DL[arow-1].ticketNumber)) then
          begin
            str:='>>'+sgDataList.Cells[ACol, ARow];
            sgDataList.Canvas.TextRect(Rect,Rect.Left + 2,Rect.top+((Rect.Bottom-Rect.top)-sgDataList.Canvas.TextHeight(str)) div 2,str);
          end;
     end;
Ergebnis: Siehe Anhang: Links: Zelle nicht selektiert, rechts: Zelle selektiert.

Was (edit) kann (/edit) ich machen, außer komplett auf ein DrawGrid (edit) zu wechseln (/edit)?

Danke und besten Gruß,
Michael
Miniaturansicht angehängter Grafiken
clipboard01.png  
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS

Geändert von alleinherrscher ( 9. Aug 2012 um 16:10 Uhr)
  Mit Zitat antworten Zitat