Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#2

Re: Wie kann ich ein Repaint unterbinden?

  Alt 29. Jan 2007, 07:27
Wenn Du uns jetzt noch sagst welche Delphi-Version Du hast wäre das Zuckersüß von Dir

Nee, im Ernst: Das muss gehen. Im Prinzip macht Delphi auch nichts anderes, wenn es Forms erstellt.
Es werden die einzelnen Komponenten erzeugt, dann die Properties aus den einkompilierten DFM-Ressourcen (also diese Formbeschreibungssprache die Du siehst wenn Du beim Form Ansicht als Text-DFM auswählst), und hinterher erst neu gezeichnet.

Auch Delphi unterdrückt innerhalb der Komponenten das Neuzeichnen, solange die Controls alle upgedatet werden. Ich müsste jetzt allerdings selber in den VCL-Sourcen nachlesen, und dafür hab ich ehrlich gesagt gerade keine Zeit (heute erste Klausur von 5en in dieser und nächster Woche.. lernen geht vor ).

Ich glaube aber, die ganzen Controls haben sowas wie ein privates Property in Richtung 'Du wirst gerade erstellt / upgedatet... also Zeichne Dich erstmal nicht neu'. Im schlimmsten Fall (du hast grad kein Delphi mit VCL-Sourcen) mal ne Turbo Delphi organisieren und dort nachsuchen, da wirst Du mit an Sicherheit grenzender Wahrscheinlichkeit fündig.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat