Jon*_*ury 53 winapi window parent owner
在Win32编程中,窗口的父窗口和窗口的所有者之间有什么区别?我以为我弄清楚了,然后我遇到了这段代码:
SetWindowLong(handle, GWL_HWNDPARENT, foo);
Run Code Online (Sandbox Code Playgroud)
这实际上设置了窗口的所有者,而不是父级 - 尽管使用了GWL_HWNDPARENT.父母/所有者这些术语是否可以互换,或者实际上是否存在差异?
Mau*_*gan 28
所有权是两个顶级窗口之间的关系,而Parent是顶级和WS_CHILD之间的关系,或WS_CHILD和另一个WS_CHILD.
按钮的父级是它所在的表单,而消息框由显示它的表单所拥有.
阅读Microsoft Win32窗口层次结构和样式中的这篇文章,以更清楚地了解所有权,父母,ZOrder,SetWindowLong,GetWindow以及用于创建窗口关系的Win32 api的所有其他讨厌的位.
编辑:看起来微软取消了这些内容,这是所有权/育儿的另一个合理的总结.
The*_*urf 20
所有者是Window*,负责控件或对话框(例如,负责创建/销毁窗口).
Parent是窗口链中控件或对话框的下一个高级窗口*,但实际上并不对它负责(不一定关心它的生命周期等).窗口的父级也可以是其所有者.
*窗口与窗口:窗口是屏幕上显示的实际窗口; window是具有HWND的任何对象(包括按钮,面板等).
归档时间: |
|
查看次数: |
27246 次 |
最近记录: |