如何判断获取焦点是窗口?

路人甲cw 2010-12-30 09:01:17
现在有一个单行文本框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主窗口?
...全文
216 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
路人甲cw 2010-12-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 samoon 的回复:]

习惯问题,不加也可以。在你这个案例里面 加不加是 等价的

以上代码是否解决了问题了?
[/Quote]
中午回去试试,先谢谢你的帮助!
Samoon 2010-12-30
  • 打赏
  • 举报
回复
习惯问题,不加也可以。在你这个案例里面 加不加是 等价的

以上代码是否解决了问题了?
路人甲cw 2010-12-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 samoon 的回复:]

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……
[/Quote]
为什么要用this.getfocus()呢?不明白
Samoon 2010-12-30
  • 打赏
  • 举报
回复
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
Samoon 2010-12-30
  • 打赏
  • 举报
回复
前面多加一个 if isnull(this.getfocus()) then... end if

路人甲cw 2010-12-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lijianhe043 的回复:]

引用楼主 gaoqiangz 的回复:
if classname(getfocus())='dw_1' then return

等价于:if classname(this.getfocus())='dw_1' then return
这样的话就是你在失去焦点的事件里引用得到焦点,肯定不行,getfoucs()应该写到主窗口里事件里~
[/Quote]
其它没问题,就是点击主窗口的最小化按钮或将主窗口隐藏时才报错,没看明白你的意思...
灰色轨迹 2010-12-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 gaoqiangz 的回复:]
if classname(getfocus())='dw_1' then return
[/Quote]
等价于:if classname(this.getfocus())='dw_1' then return
这样的话就是你在失去焦点的事件里引用得到焦点,肯定不行,getfoucs()应该写到主窗口里事件里~
路人甲cw 2010-12-30
  • 打赏
  • 举报
回复
错误代码:2
错误信息:null object reference at line4 in losefocus event of object sle_name of w_brdj
line4就是:
if classname(getfocus())='dw_1' then return
pb8 2010-12-30
  • 打赏
  • 举报
回复
应该不是判断getfocus报错的,你把报错的内容贴上来看看先~~
通过classname可以得到mdi的名称,还有就是你可以在sle_name的losefocus事件中postevent一个事件,在那里面去设置dw_1是否显示~~

743

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧