我有一个简单的问题。如何在不使用循环的情况下获取 CheckBoxListBox 中选中项目的计数?
user4054093
问问题
1980 次
3 回答
5
TCheckListBox
不提供您正在寻找的选项。需要通过其Checked[]
属性循环。
如果您使用的是 Delphi,您可以创建一个类助手来隐藏该循环。但是类助手在 C++ 中不可用。
于 2015-04-17T00:46:41.490 回答
0
在 Delphi 中,您可以 [*] 执行以下操作:
TCustomMultiSelectListControl(TheBox).MultiSelect := True;
然后 SelCount 工作:
CountOfCheckedItems := TheBox.SelCount;
在 C++ 中不是可能的等价物吗?
[*]虽然它会导致其他问题。
于 2016-02-02T09:28:59.497 回答
0
你可以使用这样的功能。
function GetCheckedCount(CH:TCheckListBox):Integer;
var I:Integer;
begin
Result := 0;
for i := 0 to ch.Items.Count - 1 do
if ch.Checked[i] then inc(result);
end;
此外,当 MultiSelect 为 true 时,SelCount 是“选定”项目的数量,而不是“已检查”项目的数量
于 2019-07-06T13:53:22.130 回答