Registriert seit: 31. Okt 2004
59 Beiträge
|
Transparentes Editfeld/Memo
12. Jun 2007, 09:32
Hi!
In meinem Programm soll der User auf ein Bild (Paintbox) Text schreiben können, sodass das Bild im Hintergrund nur durch den Text überdeckt wird, nicht durch Hintergrundfarbe des Textes (d.h. der Text soll keine Hintergrundfarbe besitzen).
Das Bild soll möglichst selten und dann nur zu möglichst kleinen Teilen neu gemalt werden, um Flimmern zu vermeiden. Ich habe ein paar "transparent" Komponenten aus dem Internet ausprobiert, aber bei diesen wurde diese Sache immer so gelöst, dass die Paintbox als ganzes ein OnPaint Signal bekommen hat (wenn man z.B. Buchstaben löscht und das Bild teilweise neu gemalt werden muss). Ich würde gerne erreichen, dass immer nur ein kleiner Teil des Bildes neu gemalt wird.
Eine Möglichkeit wäre: Falls Text gelöscht wird (beim Schreiben von neuem Text ist es ja nicht erforderlich irgendwas am Bild zu ändern), soll die Paintbox nicht nur eine Nachricht erhalten, dass neu gemalt werden muss, sondern auch an welcher Stelle. Dann könnte ich nur diese Pixel neu schreiben lassen. Ich weiß aber leider nicht, wie man so etwas realisieren könnte (sodass die Textfläche ansonsten immernoch transparent ist).
Wie wäre so etwas machbar? Ich benutze Delphi6.
|