TCheckListBox 获取计数选中的项目
TCheckListBox get count checked item
我有一个简单的问题。如何在不使用循环的情况下获取 CheckBox ListBox 中选中项的计数?
TCheckListBox
没有提供您正在寻找的选项。需要对其 Checked[]
属性 进行循环。
如果您使用的是 Delphi,您可以创建一个 class helper 来隐藏该循环。但是 class 助手在 C++ 中不可用。
在 Delphi 中,您可以 [*] 执行以下操作:
TCustomMultiSelectListControl(TheBox).MultiSelect := True;
然后 SelCount 起作用:
CountOfCheckedItems := TheBox.SelCount;
在 C++ 中是否存在等价物?
[*] 虽然会引起其他问题
你可以使用这样的函数。
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;
另外,SelCount是MultiSelect为true时"selected"项的个数,不是"Checked"[=17=的个数] 项
我有一个简单的问题。如何在不使用循环的情况下获取 CheckBox ListBox 中选中项的计数?
TCheckListBox
没有提供您正在寻找的选项。需要对其 Checked[]
属性 进行循环。
如果您使用的是 Delphi,您可以创建一个 class helper 来隐藏该循环。但是 class 助手在 C++ 中不可用。
在 Delphi 中,您可以 [*] 执行以下操作:
TCustomMultiSelectListControl(TheBox).MultiSelect := True;
然后 SelCount 起作用:
CountOfCheckedItems := TheBox.SelCount;
在 C++ 中是否存在等价物?
[*] 虽然会引起其他问题
你可以使用这样的函数。
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;
另外,SelCount是MultiSelect为true时"selected"项的个数,不是"Checked"[=17=的个数] 项