![]() |
Direkt auf TForm zeichnen?
Hallo!
Ich habe eine Anwendung mit zahlreichen Controls erstellt und will den Benutzer auf ein Control hinweisen. Jetzt wollte ich einfach ein Rechteck um die entsprechende Stellt zeichnen. (soweit die Theorie...) Kann ich direkt aufs Canvas eines TForms zeichnen? Oder kann ich nur auf ein Image oder ähnliches zeichnen? Besten Dank im Voraus! Gruß Tobias |
Re: Direkt auf TForm zeichnen?
Hi!
Soweit ich weiß, kannst du auch direkt auf den Canvas der Form zeichnen. Ob das allerdings so sinnvoll ist, weiß ich nicht: wie sieht es nach dem Minimieren des Fensters aus, war dann nicht alles gezeichnete weg? Ciao, Frederic |
Re: Direkt auf TForm zeichnen?
Hallo Tobias,
du könntest auch ein TShape hinter das Control legen. Lege ein TShape mit Namen "Shape" auf das Formular und stelle in dessen Eigenschaft Pen die gewünschte Rahmenfarbe und -dicke ein. Die Eigenschaft Visible stellst du auf den Wert False. Mit der folgenden Methode kannst du dann den "Rahmen" für beliebige Controls auf dem Formular ein- und ausschalten.
Delphi-Quellcode:
In der vorgestellten Form wird allerdings nur ein Rahmen verwaltet. Benötigst du mehrere gleichzeitig, musst du die Routine entsprechend erweitern.
procedure TForm1.FrameControl(aControl: TControl; aEnable: Boolean);
begin if aEnable then begin Shape.SetBounds(aControl.Left - Shape.Pen.Width, aControl.Top - Shape.Pen.Width, aControl.Width + 2 * Shape.Pen.Width, aControl.Height + 2 * Shape.Pen.Width); Shape.SendToBack; end; Shape.Visible := aEnable; end; // Beispiel-Aufruf: FrameControl (Edit1, True); Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 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 by Thomas Breitkreuz