Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Stringrid: Nach dem Scrollen sind Zellen nicht gefärbt

  Alt 7. Aug 2009, 08:39
Zitat von BetaBot:
Ich habe sie auf true (mit DefaultDraw := false habe ich übrigens das gleiche Problem) und zeichne selbst, was ich ändern möchte und ansonsten nehme ich gern die Gitterlinien in Anspruch. Aber der Hinweis wird sicher seinen Grund haben. Nur welchen?
Der Grund ist eventuelles Flackern, wenn die Zelle z.B. erst Weis und dann von dir Gelb gezeichnet wird.
Wenn man mehrere Zellen verbunden als eine zeichnet, möchte man eventuell auch das Fokusrechteck anpassen.

Der Fehler liegt hier darin, daß bei der Berechnung des Zellenbereichs der Verbundzelle das Skrollen und feste Spalten nicht berücksichtigt werden (LeftCol, TopRow). Durch Scrollen kann auch nur eine Zelle der Verbundzelle tatsächlich sichtbar sein, der andere Teil z.B. durch fixe Spalten oder Zeilen verdeckt. Darum sollte man im OnDrawCell wirklich nur in den Bereich zeichnen, der übergeben wird, auch wenn man den erweiterten Bereich ermitteln muss, um z.B. Text richtig auszurichten.
  Mit Zitat antworten Zitat