Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Aus welchem Grund blinkt ein Label über einem Image? (https://www.delphipraxis.net/189258-aus-welchem-grund-blinkt-ein-label-ueber-einem-image.html)

OrNEC 23. Mai 2016 12:16

Aus welchem Grund blinkt ein Label über einem Image?
 
Hallo Leute,

ich habe ein Label über ein Image positioniert und transparent geschaltet. Das Problem ist jetzt, dass der Label-Hintergrund ab und zu weiß wird, ist zwar nur für ein Paar Millisekunden, aber das passiert alle Paar Sekunden oder Minuten und es stört total und sieht irgendwie komisch aus. Wieso ist das so und wie kann ich das vermeiden?

P.S. ich setze Delphi 7 Personal ein.

Vielen Dank!

milos 23. Mai 2016 15:27

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Zitat:

Zitat von OrNEC (Beitrag 1338710)
Hallo Leute,

ich habe ein Label über ein Image positioniert und transparent geschaltet. Das Problem ist jetzt, dass der Label-Hintergrund ab und zu weiß wird, ist zwar nur für ein Paar Millisekunden, aber das passiert alle Paar Sekunden oder Minuten und es stört total und sieht irgendwie komisch aus. Wieso ist das so und wie kann ich das vermeiden?

P.S. ich setze Delphi 7 Personal ein.

Vielen Dank!

Hi

Kann es sein das du das Label nur "über" das Image gesetzt hast aber nicht "in" das Image?

Freundliche Grüsse

EWeiss 23. Mai 2016 15:43

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Zitat:

aber nicht "in" das Image?
Image hat ein Parent oder ein Hwnd?
Ist mir neu...

gruss

milos 23. Mai 2016 15:46

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Zitat:

Zitat von EWeiss (Beitrag 1338738)
Zitat:

aber nicht "in" das Image?
Image hat ein Parent oder ein Hwnd?
Ist mir neu...

gruss

Ah stimmt, geht in VCL gar nicht.
Mein Fehler :D

Zacherl 24. Mai 2016 04:52

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Zitat:

Zitat von OrNEC (Beitrag 1338710)
wie kann ich das vermeiden?

DoubleBuffered vom Parent auf true zu setzen, wäre einen Versuch wert.

jaenicke 24. Mai 2016 08:06

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Ich würde kein Image sondern eine TPaintbox benutzen und in deren OnPaint das Bild auf das Canvas der Paintbox zeichnen und danach den Text, den du jetzt im Label hast.

Luckie hat da mal was vorbereitet:
http://www.michael-puff.de/Programmi...enBitmap.shtml

OrNEC 24. Mai 2016 10:55

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Ok... muss ich ma ausprobieren.

Jonas Shinaniganz 24. Mai 2016 11:40

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Ansonsten kontrolliere mal, dass du beim Zeichnen des Bildes nicht jedes mal das ganze Fenster neu zeichnest, sondern nur deine Graphik? lg

OrNEC 24. Mai 2016 12:03

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Zitat:

Zitat von Jonas Shinaniganz (Beitrag 1338819)
Ansonsten kontrolliere mal, dass du beim Zeichnen des Bildes nicht jedes mal das ganze Fenster neu zeichnest, sondern nur deine Graphik? lg

Eigentlich habe ich die Komponenten ganz normal mit dem Form-Designer zusammen geklickt. Per Code Zeichne ich selber nichts.

FarAndBeyond 24. Mai 2016 16:58

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Bist du sicher das da nicht an anderer Stelle etwas schief läuft?
Oder ist das ein Bug?

Selbstverständlich kann man mit Delphi 7 und auch mit Lazarus ein transparentes Label über einem TImage verschieben ohne das es dabei zu einem Flackern kommt (per Mausrad oder Verschieben per Maus).
Ich hab' auch noch nie einen andersfarbigen Hintergrund dabei gesehen. :gruebel:

Wenn man das nicht mit der Maus macht (MausRad-Scrollen oder Verschieben per Maus), sondern ausschließlich mit 'nem Timer, dann sollte man unter Windows aber den MultimediaTimer nehmen. Bei mir bekomme ich mit dem StandardTimer und mit dem QueuedTimer deutlich schlechtere Ergebnisse.
Es sei denn, man richtet sich per Timer exakt nach dem MausZeiger, das funktioniert bei mir auch mit dem StandardTimer (System:TTimer) gut.

Nimm einfach Lazarus... :-)

Luckie 24. Mai 2016 17:08

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Also davon, dass sich das Label bewegen soll, lese ich nichts.

FarAndBeyond 24. Mai 2016 17:21

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Zitat:

Also davon, dass sich das Label bewegen soll, lese ich nichts.
Ich auch nicht, aber ohne Bewegung ist das Ganze noch merkwürdiger...

OrNEC 24. Mai 2016 20:12

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Ich habe etliche Timer, einer davon ändert sogar die Caption von dem Label. Kann das die Ursache sein? Bei Delphi 7PE gibts auch nur den einen Timer. Das Label zeigt die Uhranzeige an, mit Sekunden.

Luckie 24. Mai 2016 22:57

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Das Label wird also ständig neu gezeichnet.

FarAndBeyond 24. Mai 2016 23:02

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Zitat:

Ich habe etliche Timer, einer davon ändert sogar die Caption...
Vielleicht bist du ja tollkühn und läßt uns alle etwas von deinem Quellcode sehen, ich denke damit erhöht sich die Chance das jemand einen möglichen Fehler darin entdeckt auf ein gigantisches Niveau... :-)

jaenicke 24. Mai 2016 23:27

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Zitat:

Zitat von Luckie (Beitrag 1338876)
Das Label wird also ständig neu gezeichnet.

Das alleine ist aber weder bei Delphi 7 noch bei Delphi 10.1 ein Problem, auch ohne DoubleBuffered.

"Etliche Timer" hört sich allerdings danach an als ob da auf der Oberfläche noch mehr passiert.

OrNEC 25. Mai 2016 08:13

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Liegt also doch am Timer... ok, muss sie mal alle platt machen, außer für die Uhrzeitanzeige.

Der Code ist 6.000 Zeilen lang, daher möchte ich hier nicht alles posten, da die Timer überall verteilt sind.

Luckie 25. Mai 2016 10:45

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Zitat:

Zitat von OrNEC (Beitrag 1338890)
Der Code ist 6.000 Zeilen lang, daher möchte ich hier nicht alles posten, da die Timer überall verteilt sind.

Klingt nicht nach durchdachten und gut strukturierten Code. :shock:

OrNEC 25. Mai 2016 11:03

AW: Aus welchem Grund blinkt ein Label über einem Image?
 
Ja, stimmt teilweise. Ist aber mein erstes Projekt überhaupt. Neue Projekte sind da viel durchdachter und strukturierter.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:08 Uhr.

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