首页
社区
课程
招聘
[讨论]关于窗口的Owner关系,建立与删除这种联系!
发表于: 2010-9-16 17:01 3128

[讨论]关于窗口的Owner关系,建立与删除这种联系!

2010-9-16 17:01
3128
Owner关系已知,不同于Parent关系!
Owner窗口在关闭时,会关闭Owned窗口,有这么个问题,比如:
A对话框,它拥有B对话框,B是非模态的,A拥有B的效果就是B会在A前面,确实有这个需要,很好使,前提A不是主线程就可以了,别关了把进程退了就行。

但当A关闭时,B也会关闭,如果想B不关闭,有个不太好的办法:
把A变为子窗口,这样A被关闭后,B是不会关闭的,可能是Window里认为子窗口不能拥有其它窗口,所以也就没去关闭B!A关闭后,用SPY++发现,B的父和Owner都还是A,点过去会提示无效窗口。

这时有一个需要:
A关闭后,重新创建个A,让这个新的A拥有这个B,使他们建立关系,才能使用一些与Owner有关的特性,
还尝试过,把B的父窗口设成新的A,哪怕都成了新A的子窗口,SPY++都看到了树形关系,但B的父窗口还是老A,这就造成了一个奇怪的错误:新A查找子窗口时,能发现B,但B的父窗口却不是新A!新A说B是它的儿子,但B却不承认新A是它的父亲!何解?感觉这个Parent受它的Owner的影响,改不动了。

现在面临一个困难,Windows没有提供关于SetOwner的方法,这也是很多人在网上寻找,却找不着解决方法的难题

不知道这里是否有高手能解决这个问题?不能从Parent上做,要改Owner才能实现
给对话框窗口设置一个新的Owner!

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//