Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   CheckListBox, immer nur einen Eintrag auswählen (https://www.delphipraxis.net/171270-checklistbox-immer-nur-einen-eintrag-auswaehlen.html)

bernhard_LA 29. Okt 2012 14:12

CheckListBox, immer nur einen Eintrag auswählen
 
gibt es eine Methode aus einer Checklistbox den ausgewählten Eintrag auszuwählen ohne in einer Schleider über alle die Eigenschaft checked abfragen zu müssen ?
Verhalten also ähnlich zu einer Radiogroup

DeddyH 29. Okt 2012 14:24

AW: CheckListBox, immer nur einen Eintrag auswählen
 
AFAIK ist eine Checklistbox immer auf multiselect eingestellt, von daher gibt es "den ausgewählten Eintrag" nicht, also gibt es wohl keine andere Möglichkeit (zumindest wüsste ich spontan keine).

himitsu 29. Okt 2012 14:31

AW: CheckListBox, immer nur einen Eintrag auswählen
 
Jupp, CheckBox = Mehreres und RadioButton = Einwas.

Zitat:

Verhalten also ähnlich zu einer Radiogroup
Oder gleich eine Radiogroup verwenden?


Schade eigentlich, daß es keine CheckBoxGroup und keine RadioListBox gibt :cry: (jedenfalls nicht fertig im Delphi drin)

Bummi 29. Okt 2012 14:49

AW: CheckListBox, immer nur einen Eintrag auswählen
 
vielleicht willst Du es so lösen ...
Delphi-Quellcode:
Procedure DisEnableAllExcept(clb:TChecklistBox;ignore:Integer);
var
 i:Integer;
begin

  for I := 0 to clb.Items.Count -1  do
      begin
      if ignore=-1 then clb.ItemEnabled[i] := true
      else
      if i <> ignore then clb.ItemEnabled[i] := false;
      end;

end;

procedure TForm3.CheckListBox1ClickCheck(Sender: TObject);
begin
   if CheckListBox1.Checked[CheckListBox1.ItemIndex] then DisEnableAllExcept(TChecklistBox(Sender),CheckListBox1.ItemIndex)
   else DisEnableAllExcept(TChecklistBox(Sender),-1);

end;

Medium 29. Okt 2012 14:58

AW: CheckListBox, immer nur einen Eintrag auswählen
 
DisEnable -> Disable ;)

DeddyH 29. Okt 2012 15:02

AW: CheckListBox, immer nur einen Eintrag auswählen
 
Meiner Meinung nach ist das einfach das falsche Control für das gewünschte Verhalten. Eine Radiogroup oder eine Combobox z.B. erscheinen mir da geeigneter.

Bummi 29. Okt 2012 15:33

AW: CheckListBox, immer nur einen Eintrag auswählen
 
@Medium

Der Ausdruck DisEnable war bewusst gewählt, da die Prozedur beides abfackelt ...

bernhard_LA 2. Nov 2012 14:10

AW: CheckListBox, immer nur einen Eintrag auswählen
 
die zweite Frage zu diesem Thema :


kann ich eine Radiogroup (hat mein gewünschtes Verhalten) optisch zu einer TChecklistBox aufwerten ?
Bietet da VCL Styles etwas für mich ?



In meinem Programm sieht der Benutzer zu 80% der zeit auf dieses Auswahlmenue und ich möchte hier mal eine coole GUI anbieten ......

Medium 2. Nov 2012 14:17

AW: CheckListBox, immer nur einen Eintrag auswählen
 
@Bummi: Ups, manchmal fehlt mir doch das Verstehen nach dem Lesen. Schulligung!

@bernhard_LA: Wenn es was cooles sein soll, liest sich das ein wenig wie "nicht Standard". In diesem Falle wäre die VCL wohl der falsche Anlaufpunkt. Fremdkompos oder selbstgebautes wäre da eher was denke ich, und letzteres würde glaube ich nichtmals allzu kompliziert werden.

DanielJ 6. Nov 2012 10:16

AW: CheckListBox, immer nur einen Eintrag auswählen
 
Zitat:

Zitat von bernhard_LA (Beitrag 1189518)
kann ich eine Radiogroup (hat mein gewünschtes Verhalten) optisch zu einer TChecklistBox aufwerten ?
Bietet da VCL Styles etwas für mich ?


In meinem Programm sieht der Benutzer zu 80% der zeit auf dieses Auswahlmenue und ich möchte hier mal eine coole GUI anbieten ......

Versuchst du mit allen Mitteln in die Interface Hall of Shame aufgenommen zu werden?

Die vorgefertigeten VCL-Komponenten sind ja genau dafür gedacht, dass sie dem Nutzer einen gewissen Standart bieten und immer mehr oder weniger gleich funktionieren.

Für coole Menü´s gibt es aber Tonnen von alternativen Komponenten, die sich besser eignen als die Standartcontrols zum modifizieren von Daten!

LG,
Daniel


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