Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Komponente übermalt Schrift

  Alt 4. Apr 2007, 08:20
Um die Ausführung meines Vorredners zu ergänzen: anders ist es unter Windows auch nicht gedacht.

Windows ist ein ereignisgesteuertes System. Der Standardweg ist, nur dann in deinem Control herumzumalen, wenn du via WM_PAINT dazu aufgefordert wirst (bzw. unter der VCL die entsprechende Routine Paint aufgerufen wird).

Wenn der Inhalt deines Controls sich ändert, solltest du dies einfach zur Kenntnis nehmen und dem System per Invalidate mitteilen, dass der Inhalt neu gezeichnet werden musst.

Genau so verfährt Windows wenn z.B. ein anderes Fenster über deinem liegt und dann weggezogen wird - es markiert den entsprechenden Bereich auf dem Bildschirm als ungültig (invalid) und sendet ein WM_PAINT an alle Fenster von unten nach oben, die in diesem Bereich liegen (vereinfacht ausgedrückt).
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat