![]() |
Komponentenname aus Liste laden und dieses objekt verändern.
Hallihallo. ich hab da eine frage zum dynamischen abfragen von komponenten und ggf. hinzufügen von funktionen.
1. Also, ich hab etliche TImage komponenten, die on demand erstellt werden und fortlaufen nummeriert sind. wieviele das maximal sein sollen ist nicht vorgegeben. noch nicht jedenfalls. jetzt wollte ich folgendes machen: Wenn ich ein solches image anklicke soll sich ein fenster öffnen, in dem die eigenschaften der komponente verändert werden können. mein problem: eine methode mit der ich den namen der komponente einbauen kann wie z.b.
Delphi-Quellcode:
ist mir nicht bekannt.
with (zuletz angeklicktes bild) do
2. Steht zwar nicht im Titel, aber ich kann ma danach fragen: Ich möchte gleich beim erstellen der komponenten eben diesen methoden mitgeben, die bei einem ereignis ausgeführt werden. wie geht das? danke für die antworten :spin2: edit: sry der threadname war eigentlich gedacht, da ich den objektnamen aus einer liste laden wollte^^ |
Re: Komponentenname aus Liste laden und dieses objekt veränd
Speichere dir doch den Sender-Parameter der onClick-Event-Methode in ne private Variable ab.
|
Re: Komponentenname aus Liste laden und dieses objekt veränd
scheinbar is meine frage net kompatibel zu deiner antwort( ich versteh die net^^).
1. Also: ich hab eines von vielen images. der name dieser Timage komponente soll irgendwie kopiert werden, sodass ich ihn in einer funktion wie
Delphi-Quellcode:
verwenden kann.
with (variable) do
2. hä, wie meinst du das? ich wollte, dass jede dieser komponenten etwas code mit auf den weg bekommt, den sie bei z.B. Onclick ausführt. Vor allen dingen, damit sich das fenster auftut indem man die eigenschaften verändern kann. |
Re: Komponentenname aus Liste laden und dieses objekt veränd
Servus
Wenn du die Images erzeugst, fügst du den Komponenten einfach noch weitere Eigenschaften und Ereignisse hinzu. Hier mal ein Beispiel zum Erzeugen von Buttons
Delphi-Quellcode:
Natürlich muß die Funktion UsrButtonClick noch deklariert werden.
var
UsrButton : Tbutton; a : integer; x : integer; begin x := 20; for a := 1 to 4 do begin UsrButton := TButton.Create(self); // Dem Button einen Namen geben UsrButton.Name := 'User_Button_'+inttostr(a); // und anzeigen... UsrButton.Parent := Form1; UsrButton.Visible := true; UsrButton.Top := x; x := x + UsrButton.Height+5; UsrButton.Caption := inttostr(a); // Jetzt noch ein Ereignis hinzufügen: UsrButton.OnClick := UsrButtonClick; end;
Delphi-Quellcode:
procedure TForm1.UsrButtonClick(Sender:TObject);
var capt : string; begin if Sender is TButton then capt := TButton(Sender).Caption; showmessage('Sie haben Button mit der Aufschrift '+capt+' gedrückt'); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 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-2025 by Thomas Breitkreuz