Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Radiobuttons zurücksetzen (https://www.delphipraxis.net/134229-radiobuttons-zuruecksetzen.html)

khh 18. Mai 2009 08:51


Radiobuttons zurücksetzen
 
hallo zusammen,
ichhabe in verschiedenen Groupboxen diverse Radiobuttons.
Gibts ne Möglichkeit die alle auf einmal zurückzusetzen, ohne sie einzeln mit dem Namen ansprechen zu müssen?


Danke Gruss Kh

DeddyH 18. Mai 2009 08:55

Re: Radiobuttons zurücksetzen
 
Was meinst Du mit Zurücksetzen? ItemIndex der Radiogroup auf -1? Das könntest Du mit einer Schleife über das Components-(oder war es Controls?) Array erreichen.

hoika 18. Mai 2009 08:58

Re: Radiobuttons zurücksetzen
 
Hallo,

per Schleife

Delphi-Quellcode:
for iControl:= 0 to Self.Controls.Count-1  do // Self ist das Form selber
begin
  with Self.Controls as TRadioButton do
  begin
    Checked:= False;
  end;
end;


Heiko.

khh 18. Mai 2009 08:58

Re: Radiobuttons zurücksetzen
 
Zitat:

Zitat von DeddyH
Was meinst Du mit Zurücksetzen? ItemIndex der Radiogroup auf -1? Das könntest Du mit einer Schleife über das Components-(oder war es Controls?) Array erreichen.

es handelt sich um keine Radiogroups, weil es auch möglich sein muss, dass kein Button ausgewählt sein kann.
Deshalb habe ich einzelne Radiobuttons genommen.Diese sollen auf einen Rusch auf checked:= false gesetzt werden.

Luckie 18. Mai 2009 09:08

Re: Radiobuttons zurücksetzen
 
Zitat:

Zitat von khh
es handelt sich um keine Radiogroups, weil es auch möglich sein muss, dass kein Button ausgewählt sein kann.

Dann nimm Checkboxen und verwirr den Benutzer nicht mit Radiobuttons.

khh 18. Mai 2009 09:43

Re: Radiobuttons zurücksetzen
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von khh
es handelt sich um keine Radiogroups, weil es auch möglich sein muss, dass kein Button ausgewählt sein kann.

Dann nimm Checkboxen und verwirr den Benutzer nicht mit Radiobuttons.

dann müsste ich von Hand prüfen, ob nur eine oder keine Auswahl getroffen ist. das wollte ich so vermeiden.
Es darf nämlich keine Mehrfachauswahl möglich sein.

Exterior 18. Mai 2009 12:05

Re: Radiobuttons zurücksetzen
 
Also ich würde den RadioButtons an deiner Stelle einen fortlaufenden Namen geben, also zum Beispiel rbKlick1, rbKlick2 usw.

Und dann kannst du das ganze per Zählschleife machen:

Delphi-Quellcode:
for i := 1 to n do
  (FindComponent('rbKlick' + IntToStr(i)) as TRadioButton).Checked := false;
Und eben n auf die gewünschte Zahl der RadioButtons setzen, müsste so ganz gut funktionieren, habe mit sowas ähnlichem schonmal ca. 200 Labels dynamisch Beschriftet.

Was aber eigentlich noch einfacher wäre:

Nimm doch einfach eine RadioGroup. Dort kannst du dann per Case-Anweisung ganz einfach den ItemIndex auslesen und mach dann noch einen Button dazu, der eben jenen ItemIndex auf -1 setzt, dann ist nichts ausgewählt, das wäre meiner Meinung nach die einfachste Lösung.

uligerhardt 18. Mai 2009 12:59

Re: Radiobuttons zurücksetzen
 
Zitat:

Zitat von khh
es handelt sich um keine Radiogroups, weil es auch möglich sein muss, dass kein Button ausgewählt sein kann.
Deshalb habe ich einzelne Radiobuttons genommen.Diese sollen auf einen Rusch auf checked:= false gesetzt werden.

Dann nimm pro Gruppe einen RadioButton mehr und gib ihm eine Caption à la "keine Auswahl".


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 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