Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Toolbuttons in Toolbar in einer Schleife bearbeiten


GuaAck - So 12.11.17 22:25
Titel: Toolbuttons in Toolbar in einer Schleife bearbeiten
Hallo Experten,

ich habe in einer Toolbar 10 Toolbuttons, Toolbutton1..Toolbutton10. Deren Eigenschaften möchte ich zur Laufzeit ändern, also z. B. als Tag ihre Nummer hinzufügen.


Delphi-Quelltext
1:
2:
3:
Toolbutton1.tag:=1;
..
Toolbutton10.tag:=10;


Das funktioniert so. Besser wäre aber eine Schleife der Art


Delphi-Quelltext
1:
2:
for i:= 1 to 10 do
  Toolbutton[i].tag :=i; // unsinnige Syntax, aber im Prinzip so


In TToolbar gibt es zwar eine Lister alle Images der Buttons, aber keinen Liste mit den Verweisen auf die Buttons.

Hat jemand eine Idee?

Gruß
Guaack

P. S.: Die neue Funktion, dass man aufgefordert wird, erst zu suchen statt zu fragen, finde ich ausgezeichnet. Ich habe aber zu meiner Frage wohl in mehreren Versuchen nicht die richtigen Suchwörter gefunden (auch nicht bei Google).


Mathematiker - So 12.11.17 22:29


Delphi-Quelltext
1:
2:
for i:= 1 to 10 do
    TToolbutton(FindComponent('Toolbutton'+IntToStr(i))).tag:=i;

LG Steffen


Symbroson - So 12.11.17 22:31

Alternativ könntest du auch ein Array von den Objekten erstellen. Das ist vmtl. etwas schneller als die Komponente erst suchen zu lassen.


Delete - Di 14.11.17 11:58

- Nachträglich durch die Entwickler-Ecke gelöscht -


GuaAck - Do 16.11.17 23:57

Danke für die guten Tipps,

"Findcomponent" ist das Geheimnis und die Lösung für mein Problem.

Gruß
Guaack