在一窗体中有一dbgrid和webbrowser,
在webbrowser载入一个页面后,载入的页面也没有连接,鼠标在
webbrowser上随便点几下,然后再回点dbgrid,
此时dbgrid的单击双击事件都不会执行,整行选中状态
也不会显示。 如果再点击了两外的控件,如treeview or text等,再回点
dbgrid就可以了。为什么会是这样了?
 如何可以保持dbgrid中的一条记录保持选中状态下的高
 亮形式,并且点击webbrowser之后,再回点dbgrid
 单击和双击事件都能执行。
 在线等待。分不够,可以再开贴给分。
 详细一些最好,要不给个能实际实现功能的具体方法也行。

解决方案 »

  1.   

    设置form的active control为dbgrid试一下先,其它办法还没想到。
      

  2.   

    一个笨办法:webbrowser的ONCLICK事件写treeview.SetFocus;你试试看,要是你不想分析原因,又想快点解决问题,最好就这样避开它,当然,有时候会弄出些异常来,哈哈~~自己衡量吧
      

  3.   

    用这个方法可行在dbgrid的双机事件尾部加入
       FormName.FocusControl(WebBrowser1);例如下:procedure TMessForm.DBGrid1DblClick(Sender: TObject);
    var
    oldcur:tcursor;
    begin
         oldcur := Screen.Cursor;
         screen.cursor :=crHourGlass;
                   .
                   .
                   .
                   . 
         MessForm.FocusControl(DBGrid1);
         screen.Cursor:=oldcur;end;
      

  4.   

    写错了,改正一下不是在双机事件 ,,,,是在DBGrid1CellClick事件尾部加入   FormName.FocusControl(WebBrowser1);例如下:procedure TMessForm.DBGrid1CellClick(Column: TColumn)
    var
    oldcur:tcursor;
    begin
         oldcur := Screen.Cursor;
         screen.cursor :=crHourGlass;
                   .
                   .
                   .
                   . 
         MessForm.FocusControl(WebBrowser1);
         screen.Cursor:=oldcur;end;
      

  5.   

    顺便说一下: windwather() 的答案是不行的,行不通。
    lchy20cn(小猫Pisceslc) 的答案了,如果你写的treeview没有错的话,的确
    可以让dbgrid的点击事件可以发生,只是不大好。