呵,应该说是一个简单的问题吧!用前用其他的控件都可以用ActiveControl得知当前的焦点控件,现在对于cxGrid却无法使用啦,如何?

解决方案 »

  1.   

    例如:在你的窗体上有许多许多的控件,现在当我在其中一个cxGrid上,
    当我单击工具栏按钮时,事件如下:
      ShowMessage(ActiveControl.Name);
    却显示一个空的字符串提示,而其他的却正常。如何知道我当前在CxGrid上?
      

  2.   

    偶没用过cxGrid,替你顶!!!!
      

  3.   

    cxGrid应该是没有这个属性吧,这样写可以哟,写在cxGrid1DBTableView的OnMouseDown事件里,如下:procedure TForm1.cxGrid1DBTableView1MouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
      ShowMessage(ActiveControl.Parent.Name);
    end;
      

  4.   

    我主要是现实现这样的删除功能:
     我有两个cxgrid控件,是实现主从表的,当我删除时
     想判断当前焦点在哪个cxGrid上,再进行是删除主表的记录还是从表的记录
      

  5.   

    上面的可以判断出你操作的是哪个CxGrid了呀!注意的是,两个cxGrid1DBTableView的OnMouseDown事件里都要写,ShowMessage(ActiveControl.Parent.Name),你自己试一下看能不能判断到嘛?我试了,没问题
      

  6.   

    呵,可能我的意思还是说明的不明确:
    有两个cxGrid
    还有个ToolButton1按钮,我点CxGrid1中cxGrid1DBTableView的记录
    如果再按下toolButton1按扭,
    现在想知道,焦点是在cxGrid1上还是cxGrid2上
    事件,写在ToolButton1Click中 ^_^
      

  7.   

    如果这样的话,我想到的就是申明一个全局变量保存你要想操作的cxGrid名字。procedure TForm1.cxGrid1DBTableView1MouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
      cxGrid := ActiveControl.Parent.Name;
    end;然后在ToolButton1Click中根据cxGrid的值进行分类操作