如题,效果类似于右键菜单弹出后,鼠标移动到该行,该行就高亮显示。不知cxgrid能不能做出这种效果,ListView是可以的。只知道用cxGrid1DBTableView1.GetHitTest(X,Y).ViewInfo.Text;可以读取鼠标位置下的cell的文本,怎么更改其颜色还求各位大神指点指点!

解决方案 »

  1.   

    设置RGB颜色,再传递给控件即可
      

  2.   

    Tcxgrid有很多效果都是非常好的,楼主说的是常见一种,肯定是可以的。
    动态或静态都可以。
    1、拉一个TcxStyleRepository控件,放要DM中(整个系统都可以共享了,新增N种不同效果并命名
    2、设置表单中TcxGrid1DBTableView的Styles属性,里面有很多哦
    楼主要的效果就是设置Selection或inActive 关联(1)中的某一种即可。如果做好基类窗体,那更加方便。
      

  3.   

    借花献佛:
    procedure TfrmList.cxGrid1DBTableView1MouseMove(Sender: TObject;
      Shift: TShiftState; X, Y: Integer);
    var
      HitTest:TcxCustomGridHitTest;
    begin
      HitTest:=cxGrid1DBTableView1.GetHitTest(X,Y);
      if HitTest=nil then exit;  if HitTest is TcxGridRecordCellHitTest then
      begin
     
        FViewInfo:=TcxGridTableDataCellViewInfo(TcxGridRecordHitTest(HitTest).ViewInfo);
        FViewInfo.GridRecord.Focused := true;
      end
      else
        FViewInfo:=nil;
    end;
      

  4.   

    不完整,重新贴procedure TForm1.cxGrid1DBTableView1MouseMove(Sender: TObject;
      Shift: TShiftState; X, Y: Integer);
    var
      HitTest:TcxCustomGridHitTest;
      FViewInfo:TcxGridTableDataCellViewInfo;
    begin
      HitTest:=cxGrid1DBTableView1.GetHitTest(X,Y);
      if HitTest=nil then exit;  if HitTest is TcxGridRecordCellHitTest then
      begin
      
      FViewInfo:=TcxGridTableDataCellViewInfo(TcxGridRecordHitTest(HitTest).ViewInfo);
      FViewInfo.GridRecord.Focused := true;
      end
      else
      FViewInfo:=nil;
    end;