有三个dbgrid,我要用鼠标的滑动条来控制dbgrid的滑动条
要先判定出鼠标是在哪一个dbgrid上。
请帮忙,感谢先。

解决方案 »

  1.   

    最笨的方法就是判断鼠标得x,y在哪个dbgrid中啊(dbgrid的left,top,width,height属性判断)
      

  2.   

    啊?
    没有办法区分dbgrid1,dbgrid2,dbgrid3吗?
      

  3.   

    if activecontrol.Name <>'DBGrid1'  then if activecontrol.Name <>'DBGrid2'  then if activecontrol.Name <>'DBGrid3'  then
      

  4.   

    DBGrid中有TAG标志,将TObject 对象转换有TAG属性的控件就可以识别!!
      

  5.   

    设定DBGrid的TAG  为1,2,3
    在DBGrid1Enter(Sender: TObject);中(所有DBGrid公用)
      i:=TDBGrid(Sender).Tag;
      Edit1.Text:='DBGrid'+inttostr(i);
    OK!!!!
      

  6.   

    同意楼上的使用控件的Tag属性,这个很棒的。
    TForm.OnMouseWheel()事件不能用吗?
      

  7.   

    首先:
    procedure TfMainTest.FormMouseWheel(Sender: TObject; Shift: TShiftState;
      WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
    begin
      Handled := True;    // 把Handled设成True,应该可以使鼠标所在的控件聚焦
    end;然后:protected
      procedure CMFocusChanged(var AMsg: TMessage); message CM_FOCUSCHANGED;procedure TfMainTest.CMFocusChanged(var AMsg: TMessage);
    begin
      inherited;
      
      case ActiveControl.Tag of
        100: // DBGrid1.Tag = 100
          ;  // Do something to DBGrid1
        101: // DBGrid2.Tag = 101
          ;  // Do something to DBGrid2
        102: // DBGrid3.Tag = 102
          ;  // Do something to DBGrid3
      end;//case
    end;这样总可以解决了吧!