1.Pop-up窗口:   一个弹出窗口是必须具有WS_POPUP属性的窗口,弹出窗口只能是一个Top-Level窗口,不能是子窗口,弹出窗口多用于对话框和消   
                              息框,也可以用于应用程序的主窗口,   弹出窗口可以不必具有标题栏   
    
  2.Overlapped窗口:   一个重叠窗口是一个必须具有WS_OVERLAPPED属性的窗口,也就是一个重叠窗口必须具有边框,标题栏,客户区域。重叠窗口   
                                      可以是一个子窗口,也可以是一个Top-Level窗口,重叠窗口一般都用于一个应用程序的主窗口   
    
  3.Top-Level窗口:   就是没有WS_CHILD属性的窗口,所有的Top-Level的父窗口为桌面窗口。并不是所有的Top-Level的窗口都在系统的任务栏中   
                                    显示,只有所有者窗口为NULL的Top-Level窗口才能在任务栏中显示窗口的标题   
    
  4.Child窗口:   具有父窗口的窗口叫子窗口,   子窗口必须具有WS_CHILD属性,同时子窗口也可以有子窗口,子窗口可以是一个重叠窗口,但不能是   
                            一个弹出窗口。子窗口只能包含在父窗口的客户区,不能移出到父窗口客户区外,而且子窗口也不可能成为活动窗口,也不可能   
                            将子窗口的标题显示在任务栏上。同时子窗口的最大化和最小化都在父窗口中显示,在建立一个子窗口时所指定的RECT是以父窗   
                            口的客户区的左上角为原点。而建立一个非子窗口时所指定的RECT是以屏幕为坐标原点的。子窗口可以有系统菜单,但不能有菜   
                            单栏.子窗口在父窗口销毁前被销毁,在父窗口隐藏前被隐藏,在父窗口显示后被显示,   
    
  5.Desktop窗口:   就是桌面,桌面窗口是一个特殊窗口,他既不是一个子窗口,也不是一个重叠窗口,也不是一个弹出窗口。   
    
  6.Parent窗口:   具有子窗口的窗口叫父窗口,父窗口销毁前所属的子窗口将自动被销毁。父窗口在最小化时,其子窗口也会被最小化,但不隐藏   
                              而父窗口在恢复时其子窗口也会被恢复.   
    
  7.Owner窗口:     只有重叠窗口和弹出窗口才能是Owner窗口,子窗口不能为Owner窗口,Owner窗口销毁前,他的所有的Owned窗口都将被自动销毁,   
                              当Owner窗口隐藏时他的所有Owned窗口不会隐藏。但当Owner最小化是他的Owned窗口会被隐藏。一个Owner窗口的所有Owned                                   窗口都将在Owner窗口的前面显示,而不会在其后面显示。   
    
  8.Owned窗口:     一个Owned窗口总是在Z-Order顺序中一般是在他的Owner窗口之前,Owned窗口的生命可以被他的Owner窗口控制,Owned窗口的显   
                                示并不局限于他的Owner窗口区域,一个Owned窗口在建立后不能改变他的owner窗口,子窗口,弹出窗口,重叠窗口都可以做Owned   
                                窗口。   
    
  9.窗口的Z-ORDER:   
    
  10.message-only窗口:   消息窗口不能被显示,不能接受键盘和鼠标消息,不会接收广播来的消息,同时消息窗口也不会被列举,不会出现在窗口的   
                                            Z-Order顺序中。其他的于一般窗口一样。能接收和发送消息。重叠,弹出,子窗口都能为消息窗口   
    
  11.background窗口:   非foreground窗口就叫background窗口   
    
  12.foreground窗口:   如果用户正某个线程建立的窗口上时,这时这个线程称为前台线程,这个窗口则称为前台窗口,此时其他的线程都称为后台   
                                        线程,后台线程的窗口则称为后台窗口,   前台线程的优先级将必后台线程的优先级要稍微高一点。当一个窗口成为前台窗   
                                        口时,这个窗口也成为了活动窗口。系统有一个RIT线程来维护硬件输入队列SHIQ,每个GUI线程都维护者一个虚拟输入消   
                                        息队列,而且在一个时间内只有一个线程的虚拟输入队列于SHIQ相联系,则这个于SHIQ相联系的线程就叫前台线程.     
    
    
  13.active窗口:   活动窗口是用户正在操作的一个Top-Level窗口,活动窗口一般放置在Z   order的顶端,并且窗口的标题栏颜色高亮显示。只有顶   
                                层窗口才能作为活动窗口,当用户在一个子窗口上工作时,则子窗口所属的一个Top-Level父窗口成为活动窗口,在一个时间   
                                内只有一个顶层窗口是活动窗口,活动窗口就是当前正接收键盘和鼠标输入的窗口   
    
  14.disabled窗口:     不能响应键盘和鼠标输入的窗口   
  15.visible窗口:         不可看见的窗口

--------------------------------------------------

确定窗口的父窗口和所有者窗口   
    
    
        在调用CreateWindow(Ex)函数来建立窗口时,根据hWndParent和dwStyle来确定一个窗口的父窗口和所有者窗口,下面根据hWndParent是否为NULL来区分:   
    
  1.hWndParent   ==   NULL       (必须是建立非WS_CHILD的窗口,才能hWndParent为NULL)   
        对于有WS_CHILD的dwStyle来说,hWndParent不能为NULL,   因此主要是建立重叠窗口和弹出窗口的情况,在这种情况下建立的窗口的父窗口将是系统的桌面窗口,而窗口的所有者窗口则是NULL。   
    
  2.   hWndParent   !=   NULL   
            对于有WS_CHILD的dwStyle来说,hWndParent就是新建窗口的父窗口,而新建窗口的所有者窗口为NULL;   对于没有WS_CHILD的重叠窗口或者弹出窗口来说,新建窗口的父窗口将为NULL,   而hWndParent则是新建窗口的所有者窗口,   只有hWndParent是一个重叠的和弹出的窗口才有资格成为一个所有者窗口,因此若hWndParent为桌面窗口时,则新窗口的所有者窗口为NULL,   而若当hWndParent为一个子窗口时,则新建窗口的所有者窗口是hWndParent窗口的Top-Level父窗口。

--------------------------------------------------------------

在DREEATEWINDOW方法中,已经决定了父窗口或所有者窗口.   
  子窗口的父窗口必不为空,但其所有者必为空.   
  重叠窗口和弹出窗口如果HWNDPARENT不为空,则是其所有者窗口,它们的父窗口必空.   
    
  如此一来,子窗口必有父窗口,必无所有者窗口.   重叠,弹出窗口可能有所者窗口,一般无父窗口.

parent:创建者,owner:所有者

小玉的父母生下小玉,养到8岁,卖给贾府当丫头
小玉的父母是parent,贾府是owner

深入实例学习:http://www.cnblogs.com/jinianjun/archive/2012/07/29/2614229.html

owner window 和 parent window 有什么区别?的更多相关文章

  1. document.referrer的使用和window.opener 跟 window.parent 的区别

    偶尔看到了document.referrer,之前一直有点疑惑与window.opener 和 window.parent之间的区别 首先查了一下w3cSCHOOL, 上面的解释:referrer 属 ...

  2. window.parent ,window.top,window.self 详解及parent和opener的区别

    window.parent ,window.top,window.self 详解 在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层fr ...

  3. window.parent与window.opener、window.showModalDialog的区别 opener和showModalDialog刷新父页面的方法

    项目中使用案例: 父窗体 <s:form namespace="/forexagent" id="listSearchForm" name="t ...

  4. (转)window.open和window.showModalDialog的区别

    window.open和window.showModalDialog区别: 1.都是在IE上打开新窗口,只不过前者是非阻塞式,也可以说非模态窗口.而后者是阻塞式模态窗口.阻塞或者模态窗口,只有你把当前 ...

  5. windows.open window.location.href的用法和区别

    window.location.href  只能在当前页面打开,不能用新窗口打开 windows.open("URL","窗口名称","窗口外观设定& ...

  6. window.onload和$(document).ready()的区别

    window.onload和$(document).ready()的区别,如下表所示   window.onload $(document).ready() 执行时间 在页面所有内容(图片.文件)加载 ...

  7. window.parent != window 解决界面嵌套问题

    页面在被嵌套的时,效果:,,如果用户点击“刷新”,该问题即可解决. 如果想通过代码解决的话,这个问题属于客户端的问题,不是服务器端的问题. 如果直接写:window.location.href = “ ...

  8. Pass value from child popup window to parent page window using JavaScript--reference

    Here Mudassar Ahmed Khan has explained how to pass value from child popup window to parent page wind ...

  9. window.top、window.parent

    iframe和frameset中可能会用到window.parent.window.top 其中window.parent是相对于打开子页面的当前js所在页面的层级: 例如:a页面中包含一个ifram ...

随机推荐

  1. LeetCode Basic Calculator

    原题链接在这里:https://leetcode.com/problems/basic-calculator/ Implement a basic calculator to evaluate a s ...

  2. SQL Server中的SQL语句优化与效率问题

    很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解.比如: select * from table1 where name='zhan ...

  3. [BS-22] Objective-C中nil、Nil、NULL、NSNull的区别

    Objective-C中nil.Nil.NULL.NSNull的区别 1.定义: nil:      OC语言定义:#define nil __DARWIN_NULL   /  #define __D ...

  4. C# 读取app.config配置文件节点键值,提示"配置系统未能初始化" 错误的解决方案

    MSDN里写到, 如果配置文件中包含 configSections 元素,则 configSections 元素必须是 configuration 元素的第一个子元素. 将自己添加的appSettin ...

  5. Java Synchronized的用法

    synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码 ...

  6. Android之Handler,举例说明如何更新UI

    方法一:(java习惯,在android不推荐使用) 刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题 new Thread( new Runnable() { ...

  7. Java知多少(19)访问修饰符(访问控制符)

    Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: 1 public class className { 2 // body of class 3 } 4 pr ...

  8. Orthomcl的详细使用

    参考了众多文章并结合实际操作后的感想. 参考:http://www.plob.org/2013/09/18/6174.html 参考:http://www.plob.org/2012/06/12/22 ...

  9. STL lower_bound upper_bound binary-search

    STL中的二分查找——lower_bound .upper_bound .binary_search 二分查找很简单,原理就不说了.STL中关于二分查找的函数有三个lower_bound .upper ...

  10. Java基础(62):Eclipse调试(Debug)的10条技巧(转)

    在看这篇文章前,我推荐你看一下Eclipse 快捷键手册 先提三点 不要使用System.out.println作为调试工具 启用所有组件的详细的日志记录级别 使用一个日志分析器来阅读日志 1.条件断 ...