Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.349 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: Text zur Anzeige kürzen mit Punkte hinten

  Alt 31. Okt 2011, 06:22
Bis Windows XP sollte das funktionieren. Und ab Vista sollte der Text zumindest am Anfang auch sichtbar sein.

Durch die neuen Grafiktechniken von Vista und Windows 7 kann es sein, dass die Ressourcenoptimierung da einen Strich durch die Rechnung macht. Denn da wird WM_PAINT schlicht nicht mehr so oft an das Fenster geschickt. Dass der Text durch das DT_VCENTER aber an anderer Stelle neu gezeichnet werden müsste, weiß Windows nicht. Deshalb kann es passieren, dass der Text nicht zu sehen ist.

Dieses neue Verhalten führt zwar zu einer teilweise deutlich flüssigeren Oberfläche unter insbesondere Windows 7 gegenüber XP, aber eben auch manchmal zu Problemen, wenn man nicht auch auf das Resizen reagiert.

Lösung zum Testen:
Ersetze DT_VCENTER durch DT_TOP und schiebe das Fenster ganz nach oben links auf den Bildschirm.

Der eigentliche Fehler ist nämlich, dass das Window-Rect sich auf Bildschirmkoordinaten bezieht, DrawText hingegen auf Fenster-Koordinaten.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Geändert von jaenicke (31. Okt 2011 um 06:25 Uhr)
  Mit Zitat antworten Zitat