Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Radiobuttons in der Radiogroup deaktivieren
DIABLO23 - Mi 01.10.03 21:02
Titel: Radiobuttons in der Radiogroup deaktivieren
Hi,
wie deaktiviere ich einzelne Zeilen/Buttons von einer Radiogroup?
MfG Jan
Moderiert von
Tino: Titel geändert & Topic verschoben.
joerg68 - Do 02.10.03 10:15
Titel: Deaktivieren
Delphi-Quelltext
1:
| Button.eanabled := false; |
Falls er dann auch nicht zu sehen ist halt noch
Delphi-Quelltext
1:
| Button.visible :=false; |
Was Du mit Zeilen meinst müsstest Du genauer erleutern :?
Gruss
Jörg
Moderiert von
Tino: Delphi-Tags hinzugefügt.
Terra23 - Do 02.10.03 14:19
joerg68 hat folgendes geschrieben: |
Was Du mit Zeilen meinst müsstest Du genauer erleutern
|
... da tauchen auch schon die ersten Probleme im Verständnis auf. Ich möchte gern bezweifeln, daß es sich bei deiner Lösung um eine Lösung für eine Group-Box handelt. Bei der RadioGroup geht es so meiner Meinung nach nicht. :-)
joerg68 - Do 02.10.03 14:41
Titel: RadioGroup
Alternativ könnte man auch die Einträge der Radio je nach den was 'aktiviert' sein soll anzeigen.Wenn es vorher 3 Einträge gab würde das dann so gehen.
Delphi-Quelltext
1: 2: 3:
| RadioGroup1.Items.Clear; RadioGroup1.Items.Add('erster'); RadioGroup1.Items.Add('Zweiter'); |
Ich gebe zu das diese Lösung kein deaktiveren im eigentlichen Sinne ist aber wieso dem Anwender einen Eintrag zeigen den er dann noch nicht benutzen kann. Vielleicht reicht Dir ja schon diese (wenn auch zugegeben sehr banal) Lösung
Gruß Jörg
Moderiert von
Tino: Code- durch Delphi-Tags ersetzt.
DIABLO23 - Do 02.10.03 16:06
nee, ich hätte das schon gern so gehabt das man die komplette radiobox noch sieht, man aber einzelne buttons nichtmehr auswählen kann... also so grau hinterlegt, wie als wenn man z.B. die ganze radiogroup deaktiviert
Terra23 - Do 02.10.03 16:25
Das geht nicht, glaube ich. Was du aber machen könntest, wäre folgendes:
Wenn du den ersten RadioButton nicht anklickbar haben willst, nimm den nächsten:
Delphi-Quelltext
1:
| If RadioGroup1.ItemIndex=0 Then RadioGroup1.ItemIndex:=1; |
Das wäre kurz und schmerzlos..
joerg68 - Do 02.10.03 16:27
Titel: RadioButtons
Verwende normale RadioButtons und setze die in eine GroupBox. Jetzt kannst Du jeden einzelnen Radio Button auf enabled false setzen. Das müßte jetzt die Lösung deines Problems sein
Gruss
Jörg
DIABLO23 - Do 02.10.03 17:40
für die letzte lösung müsst ich mein gesamtes prog wieder umbauen....... is also nich so das wahre... das andre werd ich mal ausprobieren.... aber schonmal danke für eure antworte...
kasi - Fr 03.10.03 21:27
Geht doch
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm1.Button2Click(Sender: TObject); var i: integer; begin for i := 0 to RadioGroup1.ControlCount-1 do begin if (i mod 2) = 0 then begin TRadioButton(RadioGroup1.Controls[i]).Enabled := true end else begin TRadioButton(RadioGroup1.Controls[i]).Enabled := false end end; end; |
Dies würde z.B. jeden 2. Button deaktivieren
KASI
Moderiert von
Tino: Code- durch Delph-Tags ersetzt.
Tino - Mo 06.10.03 09:53
Etwas kürzer würde es auch gehen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| var i: integer; begin for i := 0 to RadioGroup1.ControlCount-1 do if RadioGroup1.Controls[i] is TRadioButton Then TRadioButton (RadioGroup1.Controls[i]).Enabled := (i mod 2) = 0; end; |
Als Beispiel ist der Sourecode von kasi aber besser.
Gruß
Tino
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!