Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Canvas mit transparentem Hintergrund
Dabster - Mi 05.05.04 19:53
Titel: Canvas mit transparentem Hintergrund
Hallo Leute!
Ich versuche mich zur Zeit mit der Canvas-Komponente. Nun steh ich vor dem Problem, bei Ausgabe eines Textes mit der TextOut-Prozedur auf dem Desktop, dass ein Hintergrund hinter den Text gelegt wird - ich hätte aber gerne, dass nur der Text ohne eine Farbe dahinter angezeigt wird. Geht das? Wenn ja, wie?! :)
Danke im Vorraus
Tom
bms - Mi 05.05.04 21:52
Es gibt keine Canvas Komponente, sondern nur Canvas Objekt/Klasse.
Nicht Canvas willst du mit einem transparentem Hintergrund, sondern den ausgegebenen Text.
Das was du brauchst müßte Style sein, bzw. Brush.Style := bsClear;
Damit schaltest du es auf durchsichtig.
Delphi-Quelltext
1: 2:
| Canvas.brush.Style := bsClear; Canvas.TextOut(10, 10, 'Hallo Welt.'); |
Dabster - Do 06.05.04 16:08
Hi!
Danke für die Verbesserungen! :)
Ja das habe ich gestern nach dem Forum-Eintrag noch selber rausgefunden...aber nun habe ich ein anderes Problem. Wenn ich den Text ausgeben lasse, bleibt er bestehen bis ich ein anderes Fenster darüberschiebe - also in dem Sinne ein anderes Canvas drüberlege. Kann ich es bewerkstelligen, dass der Text nach z.B. 2 Sekunden verschwindet, ohne ihn manuell zu "entfernen"?
Danke im Vorraus
Tom
bms - Do 06.05.04 19:03
Nein, zumindest nicht über Canvas, bzw. nicht mit TextOut.
Das einzige was du machen kannst ist den Bereich von TextOut zu berechnen. Das kannst du mit: Canvas.TextWidth und Canbas.TextHeight. Mit den X und Y Werten reicht das um einen Rect -Bereich zu brechnen. Zuerst also einen Canvas Bereich kopieren. Dann dein Text ausgeben und dann nach zwei Sekunden den kopierten Bereich wieder einfügen, bzw. überschreiben.
Dabster - Sa 08.05.04 13:38
Hi!
Also ich hab das jetzt mal mit der CopyRect-Funktion probiert, aber da kann der kopierte Bereich nur in dem Form und nich aufm Desktop angezeigt werden (dem Canvas hab ich schon das Handle vom Desktop zugewiesen). Wie geht das also?! :)
Danke im Vorraus
bms - Sa 08.05.04 13:54
Tschuldigung, aber ich will nicht ständig hinterher laufen. Du hast ein Frage gestellt und ich hab eine Antwort gegeben wie es geht. Das wird aber anscheinend eine Geschichte ohne Ende. Jetzt spielt plötzlich der Desktop eine Rolle.
Aber ein Tip zu Schluß: Canvas ist Canvas und alles ist Canvas.
Dabster - Sa 08.05.04 17:05
Wenn du den ersten Beitrag ordentlich gelesen hättest, wüsstest du, dass es mir um den Desktop ging.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!