我在新增一次的时候不会出现cannot focus a disable or invisible window,但是第二次的时候就会出现。请问是么事原因,怎样解决?谢谢!

解决方案 »

  1.   

    第一次是因为你的新增窗体没有创建或者某些edit的enable为false,而你确用到了setfocus方法强制设置焦点的问题吧。
      

  2.   

    你把某个Windows控件(就是有Windows焦点)的Enable或Visible设置了False,你又用了该控件的SetFocus
      

  3.   

    你肯定给控件Visible设置为False,然后又用了SetFocus(对该控件)
      

  4.   

    我第一次新增的代码是:
    procedure TFrm_class.SB_insertClick(Sender: TObject);
    begin
      tab := 1 ;
      Edit1.Text := '';
      Edit1.SetFocus;
      Qry_class.Append ;
    end;
    但是我的dbgrid和edit1控件的enable/visable都是设置的ture呀?
    请帮我一下可以马?
      

  5.   

    顶楼所说情况已经全了,比较常见的在formcreate加上setfocus容易出这个错误,
    我觉得很可能就是在哪里加上了enabele为false
      

  6.   

    procedure TFrm_class.SB_insertClick(Sender: TObject);
    begin
      tab := 1 ;
      Edit1.Visible:=True; //增加这句
      Edit1.Enable:=True;  //增加这句
      Edit1.Text := '';
      Edit1.SetFocus;
      Qry_class.Append ;
    end;