Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Komponenten Array per IDE
Nagelbrett - Mo 01.07.02 15:37
Titel: Komponenten Array per IDE
Hi.
Ich möchte ein kleines Spielchen schreiben, für welches ich viele SpeedButtons auf der Form benötige, die ich gern als Array anlegen würde, da ich ja sonst für jeden Button einen eigenen OnClick-Trigger festlegen müsste, obwohl es per Array viel einfacher ginge (doch nicht nur deswegen...).
Nun weiß ich jedoch nicht, wie ich es hinbekomme, die Buttons direkt schon in der IDE als Array zu erstellen...
Kann mir da jemand weiterhelfen?
Grüße
Nagelbrett
Tino - Mo 01.07.02 17:17
Markiere doch einfach alle Buttons und fügst einfach allen gleichzeitig EIN OnClick-Event zu!
Klabautermann - Mo 01.07.02 18:14
Titel: Re: Komponenten Array per IDE
Hallo,
Nagelbrett hat folgendes geschrieben: |
Nun weiß ich jedoch nicht, wie ich es hinbekomme, die Buttons direkt schon in der IDE als Array zu erstellen... |
wenn du dabei an ein Äquivalent zu den Objectgruppen von Visual Basic denkst, soetwas gibt es in Delphi nicht. Du kannst, wie Tino schon sagte alle markieren und dann im Objectinspektor einen Evendhandler für alle anlegen.
Wenn du Delphie ab Version 5 hast solltest du auch einmal einen Blich auf das Object tAction-List werfen. Wenn du immer alle Buttons gleich behandels (z.B. Disablest) kann dir das einige neue Möglichkeiten bieten.
Gruß
Klabautermann
Nagelbrett - Mo 01.07.02 19:41
Ah, ich danke :)
Hatte eigentlich doch noch eine andere Frage, aber das hat sich erledigt, ich bin schon selbst drauf gekommen
Grüße..
Klabautermann - Mo 01.07.02 20:10
Hallo,
unterscheiden kannst du so:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); begin IF (Sender=Button1) THEN ShowMessage('Button 1') ELSE IF (Sender=Button2) THEN ShowMessage('Button 2'); end; |
Gruß
Klabautermann
Nagelbrett - Mo 01.07.02 20:12
ja, danke nochmal
(Sender As TSpeedButton).Eigenschaft war das, was ich suchte.. :)
Klabautermann - Mo 01.07.02 20:14
Hallo nochmal,
da habe ich etwas voreilig gelesen.
Wenn du nur eine Eugenschaft ändern willst musst du gar nicht abfragen welcher Button geclickt wurde. Du must nur Abfragen ob die Funktion von Einem Button aufgerufen wurde und dann kanst du Hart-Typecasten.
Ich glaube ein Beispiel sagt auch hier mehr als 1000 Worte:
Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.Button1Click(Sender: TObject); begin IF (Sender IS tButton) THEN tButton(Sender).Caption := 'Ich war''s'; end; |
Gruß
Klabautermann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!