自己做了一个控件,在集成环境设计时出现:Cannot focus a disabled or invisible window ( 积分: 300 )

  • 主题发起人 主题发起人 郭玉梁
  • 开始时间 开始时间

郭玉梁

Unregistered / Unconfirmed
GUEST, unregistred user!
这个问题只出现在Delphi设计环境,运行环境没有错误!
这个控件继承TCustomPanel,在TCustomPanel上方了一个Grid控件,点击
TCustomPanel没有问题,但是点击Grid的时候出现那个错误,请问为什么?
 
这个问题只出现在Delphi设计环境,运行环境没有错误!
这个控件继承TCustomPanel,在TCustomPanel上方了一个Grid控件,点击
TCustomPanel没有问题,但是点击Grid的时候出现那个错误,请问为什么?
 
记得以前SetFocus的时候遇到过这个问题
 
没有看到郭大侠的控件,不知道什么原因,帮顶。
 
共享一下这个控件,让大家看看。
 
是否有焦点切换,出现这个问题原因就是设置一个Enable=False或者Hide的控件Focus
 
这个错误只在集成环境设计时出现,而在运行时却没有出现
 
>>Cannot focus a disabled or invisible window
不知道你用的一个什么Grid控件,看提示似乎还没有创建窗口句柄;
另:注意一下保护方法Loaded中的代码仅在运行时执行,在设计时不起作用的[8D]
 
主要是焦点问题,多半是该控件设置为disabled,程序中设置为setfocs,大多是这样;
 
IDE 的BUG ,在可视化编辑环境中,环境要运行控件,又要中止控件,很容易造成窗体未ACTIVE。
 
SetFocus要写成
If Edit.CanFocus Then Edit.SetFocus;
 
诚挚邀请您加入我的群,共同探讨delphi的问题,群号:4963281,谢谢!
 
应该是在你的控件窗口没有创建之前就发生了焦点转换。
你可以试着跟踪一下,发现问题候可以加一个判断,或者就直接就地创建窗口!
 
我也碰到这样的问题, 已经解决了, 你可以将代码贴出来吗。
 
多人接受答案了。
 
后退
顶部