Einzelnen Beitrag anzeigen

Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
679 Beiträge
 
Delphi 12 Athens
 
#92

AW: Delphi "Sydney" (10.4) ist da!

  Alt 29. Mai 2020, 00:03
So sieht das Rechteck aus, das an OnDrawCell übergeben wird... den Hintergrund von Zellen im Stringgrid zu füllen wird daher aktuell amüsant...
Das liegt daran, dass das ARect dort für die Textausgabe modifiziert wird und dann an inherited übergeben wird, wo das Event OnDrawCell ausgelöst wird. Das ist der Grund weshalb es sehr schlechter Programmierstil ist die übergebenen Parameter einer Methode zu verändern. In unseren eigenen Anwendungen deklarieren wir diese schlicht auch als const, so dass das gar nicht möglich ist (und bei manchen Datentypen schneller).

Es bleibt nur die Vcl.Grids Unit zu kopieren und zu korrigieren (einfach statt ARect zu modifizieren eine lokale Variable einführen).
Da war vorher ein Bug drin, durch den das Rechteck 4 Pixel weiter rechts startete (gleiche Ursache), nun ist es noch schlimmer...
Ist dieses Problem schon in QP erfasst?
Ja, ist er.
Hier übrigens der Link zum Bug im TStringGrid:
https://quality.embarcadero.com/browse/RSP-28821
Roland
  Mit Zitat antworten Zitat