user-0 提问: 弹出式窗口到底是什么？

回复:
user: user-0
content: 引用 2 楼 寻开心 的回复:只是一种特定的窗口风格， 有边框线，有系统菜单的形式 跟WS_OVERLAPPEDWINDOW的区别是什么？我还以为弹出式窗口是一直位于最顶层的那种，结果不是

user: user-1
content: 层叠窗口。         类似于多文档应用里面，每个文档的窗口；   弹出窗口        应用里面弹出的消息对话框那种；   子窗口       相当于对话框里面的一个个控件窗口  精简一下上次回复的内容。

user: user-0
content: 引用 6 楼 寻开心 的回复:这种都是随便百度一下就可以找到答案的问题，还在这儿不断的问 不是啊，你真的没仔细看我的问题啊，“弹出”的意思我暂时可以理解为像对话框一样弹出的窗口，那么重叠式窗口的“重叠”是指什么？你的回答就好像是“A式窗口是怎样的”，而我问的是“为什么叫A式，这个A代表的什么意思”。这个“重叠”是指什么重叠？我寻思是和其他窗口之间的矩形重叠，但弹出式窗口也可以，所以应该不是指这

user: user-1
content: 这种都是随便百度一下就可以找到答案的问题，还在这儿不断的问  WS_POPUP WS_OVERLAPPED WS_CHILD 　　重叠的窗口 　　一个重叠窗口是顶层窗口有一个标题栏，边框和客户区，它的目的是作为一个应用程序的主窗口。 它也可以有一个窗口菜单，最小化和最大化按钮和滚动条。 重叠的窗口作为主窗口使用通常包括所有这些组件。 　　通过CreateWindowEx函数中指定的WS_OVERLAPPED或WS_OVERLAPPEDWINDOW风格，一种应用程序创建一个重叠的窗口。 如果您使用WS_OVERLAPPED风格，窗口有一个标题栏和边框。 如果您使用WS_OVERLAPPEDWINDOW风格，窗口有一个标题栏，边框大小，窗口菜单，最小化和最大化按钮。 　　弹出窗口 　　弹出窗口是顶级窗口，并连接到桌面窗口的子窗口的列表。 应用程序通常使用对话框弹出窗口。 主要的区别弹出和重叠的窗口是弹出式窗口不需要有标题和重叠的窗口必须有标题。 当一个弹出窗口没有标题，它可以创建无边框。 弹出式窗口可能拥有其他顶级窗口或由其他顶级窗口或两者拥有。 所有弹出窗口都具有WS_CLIPSIBLINGS风格，即使是没有指定。 弹出窗口不能创建与CW_USEDEFAULT值无论是位置或窗口的大小。 弹出窗口，使用CW_USEDEFAULT会存在，但不会有任何大小或没有能力或两者兼而有之。 重叠的窗口通常是保留给应用程序的主窗口，而事实上，有时也被称为主窗口或框架窗口。 弹出窗口通常用于与用户在对话框的形式和消息框。 　　一个弹出窗口是一个特殊类型的重叠窗口的对话框，消息框使用，以及其他外部的应用程序的主窗口中出现的临时窗口。 标题栏的弹出式窗口选择，否则，弹出窗口作为窗口重叠的WS_OVERLAPPED风格相同。 您创建一个通过指定CreateWindowEx WS_POPUP风格的弹出窗口。 要包含一个标题栏，指定WS_CAPTION样式。 使用WS_POPUPWINDOW风格创建一个弹出窗口，具有边框和窗口菜单。 该WS_CAPTION样式必须结合WS_POPUPWINDOW风格使窗口菜单中可见。 　　子窗口 　　子窗口必须有一个父窗口，并只限于其母公司的客户区。 这是在子窗口和重叠和弹出窗口的主要区别。 子窗口家长可以顶层窗口或其他子窗口。 子窗口的位置，从他们的父窗口的左上角，而不是从上层作为屏幕的左侧是顶层窗口。 子窗口是夹在他们父母的客户区。 在一个对话框中的控件的子窗口，其母公司是对话框。 子窗口创建不能为任何位置或窗口的大小CW_USEDEFAULT值。 子窗口，使用CW_USEDEFAULT会存在，但不会有任何大小或位置或两者兼而有之。 　　有一个子窗口WS_CHILD样式，并只限于它的父窗口的客户区。 应用程序通常使用子窗口功能区划分成一个父窗口客户区。 您创建一个通过指定CreateWindowEx函数WS_CHILD样式的子窗口。 　　一个子窗口必须有一个父窗口。 父窗口可以是重叠的窗口，弹出一个窗口，甚至是另一个子窗口。 您指定的父窗口时调用CreateWindowEx。 如果您指定在CreateWindowEx WS_CHILD样式，但没有指定一个父窗口，系统不创建窗口。 　　一个孩子，但没有一个窗口客户区的其他功能，除非他们明确要求。 应用程序可以请求一个标题栏，窗口菜单，最小化和最大化按钮，边框，滚动窗花一个孩子，但一个子窗口不能有菜单。 如果应用程序指定一个菜单句柄，或者当它注册孩子的窗口类或创建子窗口，菜单句柄将被忽略。 如果没有指定边框样式，系统将创建一个无边框窗口。 应用程序可以使用无国界划分一个子窗口的父窗口的客户区的划分，同时保持对用户不可见。

user: user-1
content: 那是另外一种风格的窗口 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED       | /                                     WS_CAPTION          | /                                     WS_SYSMENU          | /                                     WS_THICKFRAME      | /                                     WS_MINIMIZEBOX   | /                                       WS_MAXIMIZEBOX) ■ 重叠窗口(overlapped window)，具有应用程序主窗口的全部特点。它的非客户区包括一个可伸缩的框架、菜单条、标题栏和最小化、最大化按钮。 ■ 弹出窗口(popup window)，具有消息框或者对话框的全部特点。它的非客户区包括一个固定大小的框架和一个标题栏。  ■ 子窗口(child window)，具有类似按钮控件的全部特点。它没有非客户区，窗口的处理过程负责绘制窗口的每个部分

user: user-0
content: 引用 4 楼 寻开心 的回复:那是另外一种风格的窗口 #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED       | /                                     WS_CAPTION          | /                                     WS_SYSMENU          | /                                     WS_THICKFRAME      | /                                     WS_MINIMIZEBOX   | /                                       WS_MAXIMIZEBOX) ■ 重叠窗口(overlapped window)，具有应用程序主窗口的全部特点。它的非客户区包括一个可伸缩的框架、菜单条、标题栏和最小化、最大化按钮。 ■ 弹出窗口(popup window)，具有消息框或者对话框的全部特点。它的非客户区包括一个固定大小的框架和一个标题栏。  ■ 子窗口(child window)，具有类似按钮控件的全部特点。它没有非客户区，窗口的处理过程负责绘制窗口的每个部分 可以问下这个“重叠”是什么意思吗？除了最大化最小化这些，弹出式窗口应该都有，那么何谓“重叠”呢？

user: user-1
content: 只是一种特定的窗口风格， 有边框线，有系统菜单的形式

user: user-2