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. Sql server中内连接语句

    数据库中学生表和课程表如下: 内连接sql语句: select a.studentName,a.studentAge,b.courseName from student a inner join co ...

  2. iOS 并发编程指南

    iOS Concurrency Programming Guide iOS 和 Mac OS 传统的并发编程模型是线程,不过线程模型伸缩性不强,而且编写正确的线程代码也不容易.Mac OS 和 iOS ...

  3. 快速理解Docker - 容器级虚拟化解决方案

    是什么 简单的说Docker是一个构建在LXC之上的,基于进程容器(Processcontainer)的轻量级VM解决方案 拿现实世界中货物的运输作类比, 为了解决各种型号规格尺寸的货物在各种运输工具 ...

  4. Java Set操作

    Set:无顺序,不包含重复的元素 HashSet:为快速查找设计的Set.存入HashSet的对象必须定义hashCode(). TreeSet: 保存次序的Set, 底层为树结构.使用它可以从Set ...

  5. Python基础(冒泡、生成器、迭代器、列表与字典解析)

    一.冒泡算法 冒泡算法,给定一组数据,从大到小排序或者从小到大排序,就像气泡一样 原理:  相邻的两个对象相比,大的放到后面,交换位置 交换位置通过a,b=b,a来实现 1.我们可以通过for循环来根 ...

  6. cdev简单解析

    1. cdev是linux用来管理字符设备的结构体,其在内核中采用数组结构设计,这样系统中有多少个主设备号就约定了数组大小,此设备号采用链表管理,同一主设备号下可以有多个子设备.设备即文件,上层应用要 ...

  7. SHA-2 Certificate Signing Request

    To request an SSL certificate is now a SHA-2 Certificate Signing Request (CSR) is required. Using th ...

  8. Fix the “No Private Key” Error Message

    This article will show you how to correct the “No Private Key” error message in Windows Internet Inf ...

  9. maven 一好用的仓库镜像

    <mirror> <id>ibiblio.org</id> <name>ibiblio Mirror of http://repo1.maven.org ...

  10. log4j使用

    Spring中在src/main/resources下创建log4j.xml 或log4j.properties,在maven下打包时resources文件夹下面的文件会自动copy到WEB-INF/ ...