对于来自wxWidgets 3.0.3 {w}的wxtreelistctrl示例,Getselections()无法正常工作

时间:2017-10-28 05:18:04

标签: c++ wxwidgets

我正在treelist的{​​{1}}文件夹中构建samples项目。运行那个treelist项目后,我有了一个窗口,我从样式中选择了wxWidgets 3.0.32-state-checkboxes。然后我选择了那棵树的一些复选框。当我从multiple selections点击Dumpselections时。现在,调试控制器进入operations。在OnDumpSelection()中,执行Ondumpselection(),此处getselections()应返回所选节点的总数,并进入默认的切换案例。然后它应该执行for循环以显示每个选定的节点。但是,在调试时我无法看到getselections的正确值。此外,对于从默认情况下的循环未正确执行。这是一个错误还是我犯了一些错误?

numSelected

1 个答案:

答案 0 :(得分:0)

选择是指所选项目,而不是您似乎假设的复选框。没有像GetSelections()这样的函数来获取处于检查状态的所有项目,因为这在实践中通常不常用:通常你会查看顶级项目,测试它是否被检查,然后看看它的子项和等等。

但是,如果您需要,您可以编写GetCheckedItems()函数,您只需要递归使用GetRootItem()GetFirstChild()以及GetNextSibling()