ActionList如何用代码来判定有几个分组,每个分组下面有什么成员啊,如图所示,有四个组,每个组下面分别有成员,请教如何用代码来判定有几个分组(Category),每个分组的Category是什么,每个分组分别有几个成员,每个成员是什么(Name或者Caption)?

解决方案 »

  1.   

    实现起来挺麻烦的,Category是Action的属性。所以非要这么做的话得循环统计了。
      

  2.   

    通过遍历排序获得.
    示意如下
    var
      I: Integer;
      sLst : tstringlist;
    begin
      mmo1.Clear;
      sLst := tstringlist.Create;
      try
        for I := 0 to actlst1.ActionCount - 1 do
        begin
          if sLst.IndexOf(actlst1.Actions[i].Category) < 0 then
            sLst.Add(actlst1.Actions[i].Category)
        end;
        sLst.Sort;
        mmo1.Lines.AddStrings(sLst);
      finally
        sLst.Free;
      end;
      

  3.   

    其实,我一般就用action的TAG属性。。很方便。。在TAG里11 12 13 就是第一组 21 22 23就是第二组