因为要做一个CAN卡通讯程序,临时决定使用DELPHI,以前从没有接触过。
现在的问题是用了raize的第三方控件,可是发现TRzGroupBar不好手写代码动态控制TRzGroup和TRzGroupItem的增减与事件的响应。
东西要得比较急,请大家多帮帮忙!!!

解决方案 »

  1.   

    procedure TForm1.ItemClick(Sender: TObject);
    begin
      ShowMessage(IntToStr(TRzGroupItem(Sender).Tag));
    end;procedure TForm1.FormCreate(Sender: TObject);
    var
      Group: TRzGroup;
      Item: TRzGroupItem;
      i: integer;
    begin
      Group:=TRzGroup.Create(nil);
      for i:=0 to 9 do
      begin
        Item:=Group.Items.Add;
        Item.Caption:='Item'+IntToStr(i);
        Item.Tag:=i;
        Item.OnClick:=ItemClick;
      end;
      RzGroupBar1.AddGroup(Group);
    end;
      

  2.   

    我想实现这么一个效果
    右键单击一个group然后pop一个menu,选择添加或者删除一个group,这个效果怎么实现?
      

  3.   

    放一個POPMENU,然後設置GROUPBAR的POPMENU為POPMENU1.
    刪除一個GROUP:
      RzGroupbar1.Groups[1].Hide;
      RzGroupBar1.RemoveGroup(RzGroupbar1.Groups[1]);
    增加GROUP使用INSERTGROUP方法!
      

  4.   

    问题是你怎么知道该删除哪一个group,popmenu的Sender是popmenu的。不是RzGroup的
      

  5.   

    因為RzGroupBar並沒有ActiveGroup的類似屬性,所以不能得到當前Group的Index.
    解決辦法可以這樣.ExculsiveMode設置為True!這情況下隻能OPEN一個Group,遍歷可以得到當前Index,或者在Group的Open的時候設置全局變量的數值記錄展開的Group的Index.
    菜單中刪除Group隻刪除目前展開的Group!
      

  6.   

    Group 有Tag值 当前选中的设置一下 Tag = 1 
    在 mousedown事件中写 当前的Tag =1 
    操作的时候发现
    for i:= Count -1  to  0 do
     if  group[i].tag = 1 then
      delete
      

  7.   

    解决问题,其实只要相应鼠标的移入消息设置当前鼠标指向的group就行
    结帖