主界面放了一个RzGroupBar,添加了几个group,现在想实现当鼠标放在group的ITEM上里,显示动态效果。
结果是只有第一个Group的item效果正常,其它几个都不显示效果。
代码如下:procedure TFrmMain.GpbaseMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var i,index : integer;
begin
    Index := TRzGroup(Sender).ItemAtPos(Point(X, Y));
    if Index >= 0 then
    begin
        TRzGroup(Sender).Items[ Index ].Selected := true;
    end;
    if Index = -1 then
    begin
        for i:=0 to TRzGroup(Sender).Items.Count-1 do
        begin
            TRzGroup(Sender).Items[i].Selected := false;
        end;
        exit;
    end;
end;
procedure TFrmMain.GpPactMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var i,index : integer;
begin
        Index := TRzGroup(Sender).ItemAtPos(Point(X, Y));
        if Index >= 0 then
        begin
            TRzGroup(Sender).Items[Index].Selected := true;
        end;
        if Index = -1 then
        begin
            for i:=0 to TRzGroup(Sender).Items.Count-1 do
            begin
                TRzGroup(Sender).Items[i].Selected := false;
            end;
            exit;
        end;end;显示效果如下:

解决方案 »

  1.   

    不是,有可能是TGroupBar控件本身的问题,我用
    showmessage((Sender as TRzGroup).Items.Items[Index].Caption+'; parent:='+(Sender as TRzGroup).Caption+';selected:='+booltostr((Sender as TRzGroup).Items.Items[Index].Selected));
    看了一下,发现第一个Group和第二个Group提示的消息是一致的。
    先不管了!谢谢各位!
      

  2.   

    方法有二
    1.如果是按下時直接寫代碼;
    2.如果移動時直接在MouseMove中寫代碼(獲取的是第幾個rzgroup的item)
      

  3.   

    当然是鼠标移动到项目上动态显示选中的状态,但是实际结果是只在第一个Group中有效果,其他group中虽然能够获取到鼠标事件并且ITEM的selected的值也正确,但是没有第一个group里显示的那个框的效果。
      

  4.   

    这个控件我以前也使用过,不过没有出现过楼主的问题,控件里面除了添加items之外,什么代码也不用写就可以达到楼主的要求,rzgroup控件好像有三种显示模式,楼主可以不用写代码,然后分别试一下三种显示模式看看可不可以实现。
      

  5.   

        是有三种模式。但是我想在outlook的样式下对group里面的item实现动态效果。控件本身支持对Item定义action后有下划线的效果。
        但是我觉得这样的效果不太理想,我想利用item的selected属性来做鼠标滑过的效果。 
        程序定义的procedure如题,效果却是跟三楼的显示的图一样:第一组Group有selected:=true的效果,但是第二组及以后的没有效果。
        我使用showmessage来显示mousemove事件传的坐标、caption和item的selected属性,结果都是正常的。实际情况是:当鼠标滑过第一组group产生选中效果,滑过第二组及第三组....的group时没有产生选中效果。