Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Problem mit Checkboxen (https://www.delphipraxis.net/88705-problem-mit-checkboxen.html)

dasmorgenstern 19. Mär 2007 19:06


Problem mit Checkboxen
 
Hallöchen,
ich bin noch nicht so lange bei delphi dabei. In der Schule müssen wir gerade ein Projekt mit Delphi 5 erstellen.
Dabei hat sich für mich ein Problem aufgetan!!
Ich habe eine Groupbox, in der eine ganze Reihe an Checkboxen angeordnet sind. Wenn eine der checkbocen angeklickt wird, soll der Rest unbrauchbar werden, d.h. es soll dem Benutzer unmöglich gemacht werden eine weitere Checkbox zu aktivieren.
:wall:
Hat jmd von euch einen Rat?

wär nett, wenn ihr helfen könntet.
dasmorgenstern

PS. ich bin noch n neuling

Blackheart 19. Mär 2007 19:11

Re: Problem mit Checkboxen
 
Für soetwas ist die Radiogroup gedacht.

dasmorgenstern 19. Mär 2007 19:32

Re: Problem mit Checkboxen
 
danke für die schnelle hilfe

oldmax 20. Mär 2007 05:51

Re: Problem mit Checkboxen
 
Hi und willkommen
Nun, unbrauchbar machst du auch keine Radiogroup. Also, unbrauchbar heißt bei mir

Delphi-Quellcode:
Checkbox_n.Enabled:=False;
wobei "_n" für eine Nummer steht und die aktivierte ausgeschlossen ist. Wenn ich's richtig verstanden habe, möchtest du eine Checkbox anklicken (auf Checked setzen) und die anderen auf Zugriff sperren. Erst wenn du Checked zurücknimmst, sollen die anderen freigegeben werden. Wenn dem so ist, bleibt dir nichts anderes übrig, als in Abhängigkeit der angeclickten Checkbox.Checked die anderen Enabled zu schalten, z.B.

Angenommen, es existieren 5 Checkboxen
Checkbox1, Checkbox2, Checkbox3, Checkbox4 und Checkbox5 und du clickst 3 an dann schreibst du in die Ereignisroutine onclick von 3 folgenden Code

Delphi-Quellcode:
Procedure TForm1.Checkbox3click(Sender.TObject);
Begin
  Checkbox1.Enabled:=not Checkbox3.Checked; // Enabled hat inversen Zustand von Checked
  Checkbox2.Enabled:=not Checkbox3.Checked;
  Checkbox4.Enabled:=not Checkbox3.Checked;
  Checkbox5.Enabled:=not Checkbox3.Checked;
end;
ist zwar ein bischen langweiliger Code, aber für's Verständnis reichts.
Gruß oldmax


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz