![]() |
Button.Enabled := True (Sehr oft...)
Hallo,
ich habe folgenden Beispielcode:
Delphi-Quellcode:
Gibt es die Möglichkeit, DIESE Buttons in EINER Anweisung zu "Enablen"?
TBXButton1.Enabled := True;
TBXButton3.Enabled := True; TBXButton2.Enabled := True; TBXButton9.Enabled := True; TBXButton4.Enabled := True; TBXButton5.Enabled := True; TBXButton6.Enabled := True; |
Re: Button.Enabled := True (Sehr oft...)
|
Re: Button.Enabled := True (Sehr oft...)
In einer nicht aber du kannst eine Schleife nehmen und dann mit .FindComponent per Namen suchen und Eigenschaft setzen.
|
Re: Button.Enabled := True (Sehr oft...)
Hallo,
Delphi-Quellcode:
Btn: TButton;
i : Integer; for i:= 1 to Viele do begin Btn:= TButton(FindComponent('TBXButton'+IntToStr(i))); if Btn<>NIL then Btn.Enabled:= True; end; Heiko |
Re: Button.Enabled := True (Sehr oft...)
Wenn Du diese Prozedur öfters ausführst, wäre es sinnvoller die Buttons einmal mit FindComponent zu suchen und dann einer TObjectList oder einem Array hinzuzufügen und bei weiteren durchläufen letztere(s) zu benutzen. Bei vielen Aufrufen wird das um einiges schneller sein, als jedes mal FindComponent aufzurufen.
mfG mirage228 |
Re: Button.Enabled := True (Sehr oft...)
Genau, oder das Components-Array einmalig durchlaufen und prüfen, ob es sich um eine der zu ändernden Komponenten handelt.
|
Re: Button.Enabled := True (Sehr oft...)
Delphi-Quellcode:
var
a: array [1,2,3,4,5,6,9] of Integer; i: Integer; for I:=0 to ControlCount-1 do if Controls[I] is TButton and i is in a then // nicht getestet ! TButton(Controls[I]).Enabled:=true; |
Re: Button.Enabled := True (Sehr oft...)
Zitat:
Vielleicht hilft Dir das ja weiter. Gruß, SirTwist |
Re: Button.Enabled := True (Sehr oft...)
Delphi-Quellcode:
procedure TForm1.EnableGroupBox(AGroupBox: TGroupBox;
Enable: Boolean); var i: Integer; begin with AGroupBox do begin Enabled := Enable; For i := 0 to ControlCount - 1 do Controls[i].Enabled := Enable; end; end; |
Re: Button.Enabled := True (Sehr oft...)
Zitat:
|
Re: Button.Enabled := True (Sehr oft...)
Hallo Gemeinde,
was müßte man anpassen, wenn die Buttons alle auf einem Notebook liegen und nur die, der aktiven Seite verändert werden sollen? Im meinem Fall sind es Edits, die in Abhängigkeit einer Combobox enable:=true bzw. eben false zugewiesen bekommen sollen. Dabei soll jedoch nur die aktive Seite betrachtet werden. MFG Steffen |
Re: Button.Enabled := True (Sehr oft...)
Ich würde dann eher ein PageControl einsetzen
|
Re: Button.Enabled := True (Sehr oft...)
Mmmh, das ist ein wenig spät...
MFG Steffen |
Re: Button.Enabled := True (Sehr oft...)
Du könntest auch mal einen anderen Weg gehen.
Falls alle Buttons immer gleichzeitig enabled / disabled werden sollen, dann: - eine TAction definieren - allen Buttons diese TAction zuweisen - nur immer diese Action enablen / disabeln - dann werden automatisch alle Buttons angepasst. |
Re: Button.Enabled := True (Sehr oft...)
Hört sich zumindest schonmal gut an. Bisher habe ich noch nicht mit TAction gearbeitet...schaue es mir mal
an. Vielen Dank... MFG Steffen |
Re: Button.Enabled := True (Sehr oft...)
OK...geht so nicht. Die Buttons erwähnte ich nur, um mich in den Thread "einzugliedern".
Tatsächlich handelt es sich (wie oben geschrieben) um Edits, welchen ich kein TAction zuweisen kann. MFG Steffen |
Re: Button.Enabled := True (Sehr oft...)
Zitat:
Meine Antwort war für das "Hauptthema" des Threads gedacht. Dass DU es zweckentfremden willst, bzw uns falsche Infos gibst, ist DEIN Problem. |
Re: Button.Enabled := True (Sehr oft...)
Sollte kein Vorwurf sein...
Ich wußte nur vorher nicht, dass bei der Lösungssuche der Unterschied zw. Buttons und Edits zum Problem wird. Wollte deshalb nun nicht extra nen neuen Thread aufmachen... MFG Steffen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:32 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