Begrenzung der markierten Elemente von TCheckListBox in Delphi
Ich möchte eine TCheckListBox einschränken. Ich möchte, dass nur 2 Elemente aktiviert sind und alle nicht aktivierten Elemente deaktiviert und grau dargestellt werden. Da die markierten / nicht markierten Elemente dynamisch sind, kann ich keinen statischen itemIndex verwenden.
Hier ist, was ich versucht habe, aber ich habe den Fehler "Außerhalb der Chipgrenzen".
Bei Klickereignis meiner CheckListBox;
var
NumberOfCheckedItems, I: Integer;
begin
NumberOfCheckedItems := 0;
for I := 0 to CkLst1.Count - 1 do
begin
if CkLst1.Checked[I] then
NumberOfCheckedItems := NumberOfCheckedItems + 1;
end;
if NumberOfCheckedItems > 1 then
begin
CkLst1.Checked[I] := Enabled;
CkLst1.Enabled := FALSE;
CkLst1.AllowGrayed := TRUE;
end
else
begin
//no idea
end;
end;