![]() |
Komponente gesucht: Label, Memo mit Anpassung an Hintergrund
Hallo zusammen!
Bin auf der Suche nach einer Komponente die 1. Transparenz und 2.die möglichkeit besitz, die Text-Farbe an den Hinttergrund anzupassen. Hatte mal so etwas, weiss nur leider nicht mehr von welcher Komponenten-Sammlung das war. Vielleicht weiss ja jemand von euch was ich da nutzen kann oder kennt Alternativen um Text auf jedem "Untergrund" sichtbar zu halten... Vielen Dank schon mal, Philipp |
Re: Komponente gesucht: Label, Memo mit Anpassung an Hinterg
Hi,
theoretisch müsstest Du das ganz gut selbst anpassen können. Erstell Dir einfach einen Nachfahren von TLabel und TMemo und sieh hier eine Methode vor, die auf die Botschaft CM_COLORCHANGED reagiert. Diese Botschaft wird von jedem Control (jede Elternkomponente muss ein Nachfahre von TConrol sein) ausgelöst, wenn die Farbe gewechselt wurde. Die Parameter kannst Du dabei nicht weiter ausnutzen, aber merkst Du Dir die Hintergrundfarbe des Parent kannst Du schauen ob diese sich geändert hat und ggf. selbst die Farbe wechseln. Gruß Der Unwissende [Add] Was ich vergessen hatte zu erwähnen: Die Nachricht wird durch die Funktion WindowProc (eigentlich eine Eigenschaft/ein Funktionszeiger) des TControl verarbeitet. Du müsstest also für den Parent diese WindowProc durch eine eigene ersetzen, die erst prüft was für eine Nachricht vorliegt, handelt es sich dann eben um CM_COLORCHANGED, dann reagier drauf, und danach die Botschaft auf jeden Fall an die originale WindowProc-Funktion weiterreicht (damit sich auch wirklich die Farbe ändert). [/Add] |
Re: Komponente gesucht: Label, Memo mit Anpassung an Hinterg
Danke erst mal...
Aber ich ändere nicht wirklich die Farbe, es geht darum Text über Bildern immer optimal sichtbar zu halten. Es kann ja sein das erst ein dunkles Bild und direkt da nach ein helles dargestellt wird. Und der Text sollte in diesem Fall immer lesbar sein. Ich hatte da mal eine Komponente gesehen, die sich dynamisch an den Hintergrund angepasst hat, sozusagen die Text-Farbe immer als Negativ der Hintergrund-Farbe darstellte. Irgendwas mit <<Mask>> glaub ich... (Jaja, da Alter...) |
Re: Komponente gesucht: Label, Memo mit Anpassung an Hinterg
Na dann trotzdem das obige machen und du musst dann dir einen Schwellenwert programmieren.
z.B. löß die Hintergrundfarbe in seine RGB werte auf und prüfe dann: wenn r oder g oder b > 128 dann mache label.color = schwarz, ansonsten label.color = weiß du kannst das ja noch feiner machen, vielleicht komplimitär farben bilden. |
Re: Komponente gesucht: Label, Memo mit Anpassung an Hinterg
Zitat:
[Edit] Wobei, eigentlich müsste doch in beiden Fällen ein WM_PAINT oder so ausgelöst werden? [/Edit] |
Re: Komponente gesucht: Label, Memo mit Anpassung an Hinterg
Darüber wird das nichts...
Ich bräuchte wohl wirklich diese Komponente. Das Bild hat ja verschiedene Bereiche, die Textfelder werden dynamisch über dem Bild positioniert, und innerhalb des Textes kann der Hintergrund ja mehrere Bereiche haben. Die Komponente die ich meine konnte sich an eben all diese "Situationen" anpassen. Wenn ich nur wüsste wo ich die gesehen hab... :wall: Aber sonst werd ich das bereits vorgeschlagene mal probieren. Danke, Gruß Philipp |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 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