【发布时间】:2011-10-19 22:21:05
【问题描述】:
Form2.Show vbModeless, Form1 的 Win32 等效项是什么,它允许我将所有者(而不是父级)设置为任意 hWnd 并设置默认位置等?
据我所知,这只能在创建窗口时设置。
【问题讨论】:
-
在我打电话给
.Show之前,我现在已经通过自己定位来解决这个问题(当然要考虑多台显示器) -
除 CreateWindow[Ex] 外,您还可以使用
SetWindowLong[Ptr]和GWL_HWNDPARENT作为 'nIndex' 来设置所有者窗口。 -
在 DevX 上找到这篇文章。你的问题几乎是逐字逐句的。 devx.com/vb2themax/Tip/18318
-
我已经很多年没有看过 DevX,我没有意识到它仍然存在 :) 这正是我想要的,但有多个显示器的怪癖(正是我想要的这段代码修复)所以我会坚持使用自定义代码来获取监视器并将其居中。不过,我可能会在以后调整,因为始终处于最佳状态。谢谢
-
仅供参考,在 VB6 中卸载所有者表单也会卸载所有“由它拥有”的表单,这与仅 API 拥有的 hWnd 的一个主要区别。