VirtualStringTree con CheckBox

时间:2019-07-31 10:49:50

标签: c++builder

十年来,我一直在尝试查找代码,以便仅处理所选的节点,而我花了更多的时间才找到解决方案。我最了解的是节点是全部或部分选定的(csChecked或csMixed状态),但是后来我陷入困境,例如,在节点 Banco(无定居点)中,我不知道不知道如何只处理标记的节点,在这种情况下将是Manzanares。您能给我一些代码吗?

VirtualStringTree con CheckBox

1 个答案:

答案 0 :(得分:0)

如果我了解您的情况,则您不关心cSMixed,而仅关心csChecked。在您的示例中,每个“父”节点的值都是子节点的总数。

如果是这种情况,那么您只想检查那些 没有孩子 和被检查。

所以您可能希望代码看起来像这样:

  for int(nLoop=0; nLoop<pControl->Items->Count; nLoop++)
  {
    if( (!(pControl->Items->Item[nLoop]->HasChildren)) &&
        (pControl->Items->Item[nLoop]->State==csChecked) )
    {
      // call your process routine
    }
  }

对于您要使用的控件,我没有任何参考,所以我不知道它的属性,但是我猜到了您需要什么。如果我了解您要正确执行的操作,那么您应该可以从这里找到自己的出路。