Entwickler-Ecke

Multimedia / Grafik - Ne kleine Canvas-Frage


DeCodeGuru - Di 23.07.02 12:37
Titel: Ne kleine Canvas-Frage
Hi Leute,

kann mir einer sagen, wie ich ein mit Canvas "bemaltes" Feld (TEdit) wieder säubere? Bsp.: Ich male einen roten Punkt in die Ecke eines Edits, den ich nach 10 Sekunden wieder löschen will.


tommie-lie - Di 23.07.02 13:52

mit 'nem Timer egth's am einfachsten

Die vorherige Farbe auslesen udn speichern.
Dann den roten Punkt malen.
10sek warten und die vorherige Farbe an die gleichen goordinaten malen.

Hab ich nicht ausprobiert, da mir idee gleich beim lesen gekommen ist, aber sollt theoretisch klappen.

Ist aber wahrscheinlich auch nicht der schnellste und Resourcenschonendste möglichkeit

tschüß
tommie-lie


b.brecht - Di 23.07.02 14:00

Wie kannst du denn ein TEdit mit Canvas bemalen?
Aber du kannst einach wieder die Anfangsfarbe drüber zeichnen.


DeCodeGuru - Di 23.07.02 20:06

Zitat:
Wie kannst du denn ein TEdit mit Canvas bemalen?



Quelltext
1:
MyCanvas.Handle := GetWindowDC(Edit1.Handle);                    


So geht das. Das mit dem Edit war aber nur ein Beispiel. In wirklichkeit geht es mir um den Desktop, oder um die Adressleiste im IE. :mrgreen:

@tommie-lie: Natürlich ginge das, aber das ist irgendwie nicht das, was ich wollte.


Udontknow - Di 30.07.02 11:01

Hi!

Wie wärs denn hiermit?

Edit1.Repaint :wink:

Cu,
Udontknow


Maverick - So 04.08.02 22:59


Quelltext
1:
Edit1.Invalidate