首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

怎么判断获取焦点是窗口

2012-03-08 
如何判断获取焦点是窗口?现在有一个单行文本框Sle_name的losefocus事件中有这样一段代码:if classname(get

如何判断获取焦点是窗口?
现在有一个单行文本框Sle_name的losefocus事件中有这样一段代码:
if classname(getfocus())='dw_1' then return
if dw_1.visible then
  dw_1.visible=false
 end if
dw_1是一个用于动态查询Sle_name中输入姓名的DW,我是想当焦点离开Sle_name时如果不是移到DW那么就将已经显示的DW隐藏,但是如果这个时候我点击了MDI主窗口的最小化,那么就报错说if classname(getfocus())='dw_1' then return这代语句存在空对象引用,这个问题应该怎么解决比较好呢?能不能有办法先判断点击的是不是MDI主窗口?

[解决办法]
应该不是判断getfocus报错的,你把报错的内容贴上来看看先~~
通过classname可以得到mdi的名称,还有就是你可以在sle_name的losefocus事件中postevent一个事件,在那里面去设置dw_1是否显示~~
[解决办法]

探讨
if classname(getfocus())='dw_1' then return

[解决办法]
前面多加一个 if isnull(this.getfocus()) then... end if


[解决办法]
if isnull(this.getfocus()) then 
if dw_1.visible then
dw_1.visible=false
end if
else
if classname(getfocus())='dw_1' then return
if dw_1.visible then
dw_1.visible=false
end if

end if

热点排行