![]() |
Problem mit überzeichneter Textausgabe bei JvLinkLabel
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo Mitstreiter,
Ich ein kleines Problem mit dem TJvLinkLabel aus den JEDIs: Ich sehe bei den Links immer einen leichten Versatz zur Runtime wenn der Link mal "Hot" oder "Clicked" war. Ich habe schon die ganze Komponente auseinander genommen. Die Rect-Werte für die Ausgabe stimmen zu 100%. Es scheint also ein Problem zu geben, wenn TextOut mit den selben Koordinaten erneut den gleichen Text jedoch mit anderer Farbe ausgibt. Das ganze ist in den Screenshots zu sehen. ClipBoard01.png = Link vor dem MouseOver ClipBoard02.png = Link während Mouse darüber ist ClipBoard03.png = Link nach dem MouseOver Zumindest ClipBoard03.png sollte ja wieder wie ClipBoard01.png aussehen. Das ganze trifft auch auf die ältere TJvLinkLabel (noch vor der JEDI-Donation) bei Torry zu. Die Ausgabefunktionen scheinen soweit ich sehen kann alle korrekt zu sein. Weiß da jemand aus dem Stehgreif etwas? Im MSDN hab ich nichts zu Problemen mit TextOut gefunden. Gruß Assertor |
Re: Problem mit überzeichneter Textausgabe bei JvLinkLabel
Hallo,
ich denke mal, der Effekt tritt auf, weil die halbtransparenten Kanten des Textes, der durch das Antialiasing entsteht, immer wieder überzeichnet werden. Die einzige Lösung wäre meiner Meinung nach, den Bereich vorher mit der Hintergrundfarbe zu übermalen, bzw bei transparentem oder mehrfarbigem Hintergrund den Bereich mit InvalidateRect zum Neuzeichnen zu zwingen. Das ist übrigens nicht nur ein JEDI-Problem, z.B. beim Instant-messenger Miranda wird durch eine Größenänderung des Fensters der Text in der Statusleiste überzeichnet. Da warte ich auch schon ewig auf einen Patch. |
Re: Problem mit überzeichneter Textausgabe bei JvLinkLabel
Hi NamenLozer,
Zitat:
Falls Jemandem noch speziell zum JvLinkLabel eine Idee kommt, wäre ich froh. Gruß Assertor |
Re: Problem mit überzeichneter Textausgabe bei JvLinkLabel
Hi,
Danke nochmal für das Brainstorming, Namenlozer. Ich hab es jetzt gelöst bekommen. Für alle, die die Lösung irgendwann mal interessiert: TJvCustomLinkLabel.ActivateLinkNodeAtPos und TJvCustomLinkLabel.DeactivateActiveLinkNode anpassen. Inhalt des Parent für Transparenz auf ein übliches Buffer-Bitmap kopieren, dann die Ausgabe darauf und zum Schluß ein BitBlt. An sich ganz einfach, war wohl irgendwie der Wurm drin ;) Gruß Assertor |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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 by Thomas Breitkreuz