MDI主窗口MAINFORM上放一TreeView作功能树
mdi子窗口放一dbgrid
先点树,再点dbgrid.死活点不进去。各位老大,帮忙看看。
谢谢!!!

解决方案 »

  1.   

    点不进去是什么意思? 子窗体没有获得焦点,还是仅仅Grid没有焦点?
      

  2.   

    点mdi子窗口其它构件,比如EDIT,EDIT可获得焦点。
    就是dbgrid不行。
      

  3.   

    dbgrid必须通过DataSource与后台数据表(Table或Query)连接,并且数据表要打开才可以获得焦点。
      

  4.   

    你可能把DBgrid的Enabled設为false了
      

  5.   

    数据表当然已打开了
    dbGrid的Enabled=trueMainform.tree-mdichildform.edit-mdichildform.grid 没问题
    Mainform.tree-mdichildform.grid 有问题继续-
      

  6.   

    UP
     我也遇到这样的问题了。好象其他控件都可以获得焦点,只有DBGrid不能,滚动条拉不动,只能通过AdoQuery1.next语句让它动。而且我试过了,Enabled是True的,SetFocus和BringtoFront都不管用,ONCellClick事件是有响应的,ONDblClick就没反应了。
      

  7.   

    用sendmessage()试着给dbgrid发送一条消息,以便让子窗体响应acitve事件,只有窗体处于active时,dbgrid才有机会获得焦点.
      

  8.   

    找了很久都找不出什么原因,所以我采取了一个折中的方法。在DBGrid的ONCellClick事件中将焦点先转到别的控件上去,这样DBGrid才活过来。
      因为我的DBGrid是放在GroupBox1中的,所以在DBGrid的ONCellClick中写入
      procedure TFrmMDIChild.DBGrid1CellClick(Column: TColumn);
      Begin
        GroupBox1.SetFocus;
        ... ...
      End;
      没有别的办法前,你可以先用这种方法应付一下了。
      

  9.   

    非常感谢各位,尤其ruixi(大虫子)