Autor Beitrag
DIABLO23
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 01.10.03 21:02 
Hi,

wie deaktiviere ich einzelne Zeilen/Buttons von einer Radiogroup?

MfG Jan

Moderiert von user profile iconTino: Titel geändert & Topic verschoben.
joerg68
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 116

Win 2000
D5Enterprise
BeitragVerfasst: Do 02.10.03 10:15 
Titel: Deaktivieren
ausblenden Delphi-Quelltext
1:
Button.eanabled := false;					

Falls er dann auch nicht zu sehen ist halt noch
ausblenden Delphi-Quelltext
1:
Button.visible :=false;					

Was Du mit Zeilen meinst müsstest Du genauer erleutern :?

Gruss
Jörg

Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.
Terra23
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: 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. :-)

_________________
Hasta La Victoria Siempre


Zuletzt bearbeitet von Terra23 am Do 02.10.03 14:49, insgesamt 1-mal bearbeitet
joerg68
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 116

Win 2000
D5Enterprise
BeitragVerfasst: 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.
ausblenden 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 user profile iconTino: Code- durch Delphi-Tags ersetzt.
DIABLO23 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: 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:

ausblenden Delphi-Quelltext
1:
If RadioGroup1.ItemIndex=0 Then RadioGroup1.ItemIndex:=1;					


Das wäre kurz und schmerzlos..

_________________
Hasta La Victoria Siempre
joerg68
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 116

Win 2000
D5Enterprise
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37

Win XP
D5 Ent
BeitragVerfasst: Fr 03.10.03 21:27 
Geht doch
ausblenden 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 user profile iconTino: Code- durch Delph-Tags ersetzt.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 06.10.03 09:53 
Etwas kürzer würde es auch gehen:
ausblenden 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