Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Canvas eines AOwners? (https://www.delphipraxis.net/31849-canvas-eines-aowners.html)

Corelgott 14. Okt 2004 18:41


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

dizzy 14. Okt 2004 19:46

Re: Canvas eines AOwners?
 
Zitat:

Zitat von Corelgott
Strucktugramm ergeben..

Na ob das unserem Verteidigungsminister gefallen würde... :mrgreen:


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:
type
  TMyComponent = TControl
    FTargetForm: TForm;
  end;
.
.
.

// Im Programm:

  MyComponent.TargetForm := TForm(Form1);
gruss,
Fabian

Corelgott 14. Okt 2004 19:58

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?

dizzy 14. Okt 2004 20:24

Re: Canvas eines AOwners?
 
Evtl. im Konstruktor:

Delphi-Quellcode:
// Deklaration von TMyComponent wie oben

constructor TMyComponent.Create(AOwner: TControl);
begin
  inherited Create(AOwner);
  FTargetForm := AOwner as TForm;
end;
Allerdings weiss ich nicht, ob man das so machen kann, bzw. ob das zur Designtime was bringt. Aber das wäre mein erster Versuch :).

Corelgott 14. Okt 2004 20:32

Re: Canvas eines AOwners?
 
Hey das funzt!!

Geil!!

thx @ dizzy!!

dizzy 14. Okt 2004 20:37

Re: Canvas eines AOwners?
 
Echt? Ja cool 8)

Gern geschehen :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz