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/)
-   -   Delphi Checklistbox-nur ein Item auswählen (https://www.delphipraxis.net/54432-checklistbox-nur-ein-item-auswaehlen.html)

Brakeman 4. Okt 2005 11:31


Checklistbox-nur ein Item auswählen
 
Hallo,
wie kann ich es anstellen, dass in einer Checklistbox nur ein Item angewählt werden kann? Also so etwas wie bei Radiobutons, wo beim Klick auf einen anderen Radiobutton der zuvor gewählte abgewählt wird? Ich hätte das ganze gern dynamisch in einer Liste.

Danke für Hilfe!

Luckie 4. Okt 2005 11:34

Re: Checklistbox-nur ein Item auswählen
 
Warum nimmst du keine Radiobuttons? Wenn du das Standardverhalten von Checkboxen änderst verwirrst du nur die Benutzer und die werden es dir nicht danken.

Brakeman 4. Okt 2005 11:41

Re: Checklistbox-nur ein Item auswählen
 
Kann man die Radiobuttons in einer Art Liste dynamisch erstellen lassen? Denn ich weiss vorher nicht, wieviele Radiobuttons ich benötige.

Matze 4. Okt 2005 11:53

Re: Checklistbox-nur ein Item auswählen
 
Dafür brauchst du imho eine extra Komponente, die nicht bei Delphi mit dabei ist ( VirtualTreeView müsste das können).

Was anderes als diese Lösung (nicht sehr performant durch die Schleife) fällt mir nicht ein:

Delphi-Quellcode:
procedure TForm1.CheckListBox1ClickCheck(Sender: TObject);
var
  i: integer;
begin
  if CheckListBox1.ItemIndex > -1 then
  begin
    for i := 0 to CheckListBox1.Items.Count - 1 do
    begin
      if not (i = CheckListBox1.ItemIndex) then
        CheckListBox1.Checked[i] := false;
    end;
  end;
end;

BrunoT 4. Okt 2005 11:58

Re: Checklistbox-nur ein Item auswählen
 
Hallo Brakeman,

die RadioGroup verwaltet die Radiobuttons in einer TStringlist, da kann man dynamisch hinzufügen (add).

mfg

BrunoT

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var
 i:Integer;
begin
  For i:=0 To 9 do
    Radiogroup1.Items.Add(IntToStr(i+1)+' Auswahl');

end;

Brakeman 4. Okt 2005 12:01

Re: Checklistbox-nur ein Item auswählen
 
Danke für die Antworten. Ich habe die Lösung von Matze implementiert. Wegen der Performance ist es nicht so schlimm, es sind nicht so viele Einträge. RadioGroup ist nicht so schön, weil die Größe der Group dann angepasst werden muss, da es ja keine ScrollBars gibt.

Danke!


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