![]() |
Canvas eines AOwners?
Hi @ all...
ich schreibe gerade an einer kleinen Komponente herum. Das soll nachher so etwas wie ein Strucktugramm ergeben.. Die einzelnden Bausteine, jeder eine einzelden Componente (!), sollen sich daher auch mit Linien verbinden lassen... aber wie zeichene ich diese linien am besten? Ich würde sie am liebsten direkt auf die Form selbst malen... d.h. ich muss irgendwie an deren dc bzw. Canvas ran... Jeder Stein soll dann eine Linie zu seinem vorgänger zeichen.. (Sind maximal 2 pro stein...) Hat da wer ne idee? thx Corelgott |
Re: Canvas eines AOwners?
Zitat:
Idee: Ein Feld vom Typ "TForm" in deiner Kompo deklarieren, und dann zur Laufzeit eine Referenz des Ziel-Formulares zuweisen. Schon hast du Zugriff.
Delphi-Quellcode:
gruss,
type
TMyComponent = TControl FTargetForm: TForm; end; . . . // Im Programm: MyComponent.TargetForm := TForm(Form1); Fabian |
Re: Canvas eines AOwners?
Hi,
an sich ist das ja ne gute idee... aber ich hätte die linien schon gerne bei der design-zeit... Meine komponente zeichnet sich ja schon in der design-zeit selbst und da dachte ich es könnte das ja gerade mit übernehmen... (Ok ok ist nicht so der schönste weg aber ich hoffe dennoch machbar...) thx Corelgott ps.: Noch ne idee? |
Re: Canvas eines AOwners?
Evtl. im Konstruktor:
Delphi-Quellcode:
Allerdings weiss ich nicht, ob man das so machen kann, bzw. ob das zur Designtime was bringt. Aber das wäre mein erster Versuch :).
// Deklaration von TMyComponent wie oben
constructor TMyComponent.Create(AOwner: TControl); begin inherited Create(AOwner); FTargetForm := AOwner as TForm; end; |
Re: Canvas eines AOwners?
Hey das funzt!!
Geil!! thx @ dizzy!! |
Re: Canvas eines AOwners?
Echt? Ja cool 8)
Gern geschehen :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 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