Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   eigenartiges Verhalten von tlabel u. a. in for - to Schleifen (https://www.delphipraxis.net/160781-eigenartiges-verhalten-von-tlabel-u-schleifen.html)

mkinzler 1. Jun 2011 10:11

AW: eigenartiges Verhalten von tlabel u. a. in for - to Schleifen
 
Zitat:

Hallo, in scheinbar rechenaufwändigen Programmen läßt sich als einziges tlabel von den genannten nicht einmal durch direktes Aufrufen von refresh oder repaint zu einer Neudarstellung vor Ende der Schleife zwingen!
Dann wird aber auch nur ein Message an das Control gesendet.

Sir Rufo 1. Jun 2011 10:31

AW: eigenartiges Verhalten von tlabel u. a. in for - to Schleifen
 
Zitat:

Zitat von DrUArn (Beitrag 1104069)
Zitat:

Zitat von himitsu (Beitrag 1103977)
Einige Komponenten zeichnen sich bei jeder Kleinigkeit neu, was schonmal ganz schön Zeit fressen kann, wenn man Mehreres ändert.
PS: Das TLabel kennt noch die Methoden Refresh und Repaint, um sich sofort neu zu zeichnen.


Hallo, in scheinbar rechenaufwändigen Programmen läßt sich als einziges tlabel von den genannten nicht einmal durch direktes Aufrufen von refresh oder repaint zu einer Neudarstellung vor Ende der Schleife zwingen!

Gruß Uwe

Darum packt man sowas rechenaufwändiges in einen Thread und schon ist die Anzeige schick ;)

himitsu 1. Jun 2011 11:19

AW: eigenartiges Verhalten von tlabel u. a. in for - to Schleifen
 
@DrUArn: Hab mal nachgesehn und teilweise hast du Recht.

@mkinzler: Stimmt ebenfalls nur halb.

@Sir Rufo: Recht hast du.


Wenn das Label nicht transparent ist, dann zeichnet es sich komplett selber und beim Repaint zeichenet es sich sofort.

Idt das Label dageben transparent, schickt es dem Parent eine Nachricht, daß dieses sich neu zeichnen soll und wenn das geschieht, dann malt sich das Label dann wieder über alles drüber.
Denn es kennt die Hintergrundfarbe nicht, bzw. es weiß nicht vielleicht ob ein Bild dahinterliegt und kann demnach seinen Hintergrund nicht zeichnen, da es nicht sein Hintergrund ist.

Label ist ein Spezialfall, denn es ist kein WinControl, sondern eine delphieigene Komponente, ohne eigener Zeichenfläche ... es zeichnet sich immer nur auf dem Canvas des Parents.
Das echte WinControl, welches einem Label entspricht, wäre das TStaticText, welches dem Label (STATIC) von Windows entspricht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz