Hallo,
ich habe mehrer Buttons, die ich Anzeige und verberge.
So mache ich es:
Button1.visible := true;
.
.
Button10.visible := true;
Geht dies nicht irgendwie so?:
for i := 1 to 10 do begin
Button(i).visible := true;
end;
Danke im Voraus!
Hallo,
ich habe mehrer Buttons, die ich Anzeige und verberge.
So mache ich es:
Button1.visible := true;
.
.
Button10.visible := true;
Geht dies nicht irgendwie so?:
for i := 1 to 10 do begin
Button(i).visible := true;
end;
Danke im Voraus!
Na ja, so natĂĽrlich nicht, weil die Buttons nicht als Array vorliegen.
Ich sehe zwei Ansätze:
var ButtonList : TObjectList
aButton : TButton
…
ButtonList := TButtonList.create(true);
ButtonList.Add(Button1)
ButtonList.Add(Button2)
…
ButtonList.Add(Button10)
…
for i = 0 to ButtonList.Count -1
aButton := ButtonList[i];
aButton.visible := false;
eventuell klappt auch ButtonList[i].visible : true oder TButton(ButtonList[i]).visible := true.
ButtonList.free nicht vergessen.
(Quellcode aus dem Gedächtnis getippt und nicht getestet, sorry, hab grad kein Delphi zur Hand).
… oder (was ich machen würde), Du enumerierst die Controls auf dem Form (erkennst die Buttons (z.B. durch Vergleich des Klassennamens mit TButton, oder durch Auswertung der Caption, was auch immer passend ist). Da gibt es ein fast perfekt passendes Code-Beispiel:
http://stackoverflow.com/questions/539227/deleting-a…
… oder Du kombinierst beide und verwendest die eumeration der Controls um die Buttonliste automatisch zu betanken.
Das Kunststück der automatischen Methoden ist in jedem Fall, nicht alle Controls / alle Buttons zu beeinflussen, sondern - was in der Praxis meistens der Fall sein dürfte - je nach Rahmenbedingungen nur manche. Bei der selbst evrwalteten Objektliste aus Vorschlag 1 ist das per Design sowoeso gegeben. Die Automatik hats da schwerer - Du musst den Buttons, die zusammengehören, ein verwertbares Merkmal mitgeben, damit Du sie erkennen kannst. Da gibt es allerdings ganz viele Möglichkeiten dafür, frag einfach nochmal wenn Du da Hinweise brauchst, und beschreibe etwas genauer wie Deine Applikation die Buttons schalten soll.
Armin.