TCheckListBox获取计数检查项

时间:2015-04-16 08:46:02

标签: c++builder c++builder-xe5 tchecklistbox

我有一个简单的问题。如何在不使用循环的情况下获取CheckBoxListBox中已检查项的计数?

3 个答案:

答案 0 :(得分:3)

TCheckListBox未提供您要查找的选项。需要循环遍历Checked[]属性。

如果您使用的是Delphi,则可以创建一个class helper来隐藏该循环。但是C ++中没有类助手。

答案 1 :(得分:0)

在Delphi中,您可以[*]执行以下操作:

TCustomMultiSelectListControl(TheBox).MultiSelect := True;

然后SelCount工作:

CountOfCheckedItems := TheBox.SelCount;

在C ++中不等同吗?

[*] 虽然它会导致其他问题。

答案 2 :(得分: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是“选定” 项的数量,不是“已检查” 项的数量