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 Komponentenentwicklung (https://www.delphipraxis.net/21730-komponentenentwicklung.html)

Markus K. 7. Mai 2004 10:06


Komponentenentwicklung
 
Hallo,
ich versuche zur Zeit eine eigene Komponente zu entwickeln. Als Vorfahrentyp habe ich TWinControl gewählt. Nun zu meiner Frage, ist es irgendwie möglich andere Komponenten(TImage,TPanel) auf meiner neuen Komponente zu platzieren bzw mit meiner Komponente zu verbinden? Zu dem würde ich noch gerne die Eigenschaften der verwendeten Komponenten ändern? Lässt sich jenes realisieren? Wenn ja wie?
PS: Würde eine Komponente ähnlich des LabeledEdit's erstellen wollen.

Tschüß Markus

Hansa 7. Mai 2004 10:34

Re: Komponentenentwicklung
 
Grundlagen-Tutorials : www.delhi-Source.de

diverse LabeledEdits (mangels Resonanz ist das aber nicht letzer Stand):

LabeledEdits

Solltest Du das final Release :mrgreen: benötigen, dann sage Bescheid.

Niko 7. Mai 2004 10:36

Re: Komponentenentwicklung
 
Zitat:

Zitat von Markus K.
ist es irgendwie möglich andere Komponenten(TImage,TPanel) auf meiner neuen Komponente zu platzieren

Ja, du künntest sie im OnCreate deiner Komponente erstellen und dort auch gleich die Eigenschaften anpassen. Als Parent und AOwner musst du bei den Komponenten jeweils Self angeben, dann liegen sie nachher auf deiner neuen Komponente.

Markus K. 7. Mai 2004 11:38

Re: Komponentenentwicklung
 
Vielen Dank!!!
Nun komme ich wieder weiter. :-D
Eine Frage hab ich diesbezüglich aber noch, wie kann ich die gesamten Eigenschaften des Label in die Eigenschaften der neuen Komponente übernehmen. (z.B. EditLabel bei LabeledEdit)

Tschüß Markus

Hansa 7. Mai 2004 11:53

Re: Komponentenentwicklung
 
Du meinst wahrscheinlich das "+"
Da must Du im Source nachschauen. :mrgreen: Ich glaube es ging irgendwie mit "SetSubComponent". Ja hier :

Delphi-Quellcode:
constructor TlblEdit.Create(AOwner: TComponent);
begin
  inherited;
  FAlignment := taLeftJustify;

  FLabel := TDockingLabel.Create(AOwner);
  FLabel.FParentEdit := Self;
  FLabel.Caption := FLabel.Name;
  FLabel.SetSubComponent(True);

  FLabel.Position := lpLeft;
end;
Da wird das Label erzeugt, auf linksbündig gesetzt, Caption auf Name des Labels und links vom Edit als Standard hingelegt (statt oben drüber wie in Delphi).


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:58 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