请问各位“cannot focus disable or invisible window”是怎么回事呢?谢谢(50分)

  • 主题发起人 主题发起人 liuyang
  • 开始时间 开始时间
L

liuyang

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位“cannot focus disable or invisible window”是怎么回事呢?谢谢

我在保存的时候,或在切换页面的时候有些表老是这样没法提交?
请问各位问题所在?如何避免?如何解决?
 
说是无法在不可见或是不可用的窗体上聚焦,你再看看你的源码吧。
没看到你的源码,我也不知道问题在哪里。
 
一般就是setfocus的时候出现这种错误啦
1、你在oncreate事件中使用setfocus过程(改到onshow事件中)
2、你将一个form close以后,在另一个form close的事件中想要show出这个form
(窗体不用close,用hide或者show过程不写在另一个窗体的close事件中)
 
同意terry_lzs
 
这是因为你现在想setfocus的这个控件被你Enable等于False或Visabled设为False了。总之,
便是你现在不能将focus停留在这个控件上了,建议设个断点,好好看看是在哪儿改变了。
 
是你把内存中的FORM释放了,不要用RELEASE,就可以了。

如果你用了RELEASE,你可在生成窗口的代码中加入重新创建FORM的语句。
 
通常这个问题时由于某一个对象没有创建或者其VISIBLE IS FALSE,YOU MAY STEP AND STEP
TO FIND THE ERROR.
MY COMPUTER'S INPUT CHINESE IS BAD!I AM SORRY!
 
不是Free了,而是把Disable或hide的控件再置焦点,就会出错了,跟踪一下程序
 
disable --> enable就可以了
 
在调用SetFocus前 if not 控件.Enabled then
控件.Enabled:=true
 
这种情况好象也就是出现在了setfocus这种情况下。
  我们开的窗口,都可以设为enable或者visable,但active只能有一个,在enable
or visable为false时,会出现这种问题,但同样对于一些控件,它的active为false
时也是出现这种情况,比如tabbednotebook这种,所以你看看你用到的那些,当时处于什
么状态,作一些修改。
 
分不多,请各位原谅,谢谢你们的帮助。:)
 
我也同意terry_lzs
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部