我想限制一个 TCheckListBox。我希望只检查 2 个项目,所有未选中的项目都将被禁用并变灰。由于选中/未选中的项目是动态的,我不能使用静态 itemIndex。
这是我尝试过的,但出现“超出芯片范围”错误。
在我的 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;