AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Komponente gesucht: Label, Memo mit Anpassung an Hintergrund
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente gesucht: Label, Memo mit Anpassung an Hintergrund

Ein Thema von Loki77 · begonnen am 15. Jan 2007 · letzter Beitrag vom 15. Jan 2007
Antwort Antwort
Benutzerbild von Loki77
Loki77

Registriert seit: 21. Feb 2006
Ort: Trier
132 Beiträge
 
Delphi XE2 Enterprise
 
#1

Komponente gesucht: Label, Memo mit Anpassung an Hintergrund

  Alt 15. Jan 2007, 13:26
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
"What I cannot create, I do not understand."
-Richard P. Feynman
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Komponente gesucht: Label, Memo mit Anpassung an Hinterg

  Alt 15. Jan 2007, 13:48
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]
  Mit Zitat antworten Zitat
Benutzerbild von Loki77
Loki77

Registriert seit: 21. Feb 2006
Ort: Trier
132 Beiträge
 
Delphi XE2 Enterprise
 
#3

Re: Komponente gesucht: Label, Memo mit Anpassung an Hinterg

  Alt 15. Jan 2007, 14:03
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...)
"What I cannot create, I do not understand."
-Richard P. Feynman
  Mit Zitat antworten Zitat
andimx

Registriert seit: 14. Apr 2005
Ort: Hohenstein-Ernstthal
67 Beiträge
 
#4

Re: Komponente gesucht: Label, Memo mit Anpassung an Hinterg

  Alt 15. Jan 2007, 14:11
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.
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#5

Re: Komponente gesucht: Label, Memo mit Anpassung an Hinterg

  Alt 15. Jan 2007, 14:17
Zitat von andimx:
Na dann trotzdem das obige machen und du musst dann dir einen Schwellenwert programmieren.
Ich glaube sein Problem ist eher, dass diese Botschaft ebend nur beim Ändern der tatsächlichen Hintergrundfarbe ausgelöst wird. Lädst Du aber ein Bild in ein TImage, so wird sicherlich eine andere Botschaft ausgelöst (hab es zumindest so verstanden), da dürfte dann also die Behandlung in TControl nicht viel bringen.

[Edit]
Wobei, eigentlich müsste doch in beiden Fällen ein WM_PAINT oder so ausgelöst werden?
[/Edit]
  Mit Zitat antworten Zitat
Benutzerbild von Loki77
Loki77

Registriert seit: 21. Feb 2006
Ort: Trier
132 Beiträge
 
Delphi XE2 Enterprise
 
#6

Re: Komponente gesucht: Label, Memo mit Anpassung an Hinterg

  Alt 15. Jan 2007, 14:26
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...
Aber sonst werd ich das bereits vorgeschlagene mal probieren.
Danke,
Gruß Philipp
"What I cannot create, I do not understand."
-Richard P. Feynman
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz