Windows Bringwindowtop、SetForegroundwindow、SetWindowPos等之间有什么区别。?
、全部描述为显示和激活窗口Windows Bringwindowtop、SetForegroundwindow、SetWindowPos等之间有什么区别。?,windows,winapi,Windows,Winapi,、全部描述为显示和激活窗口 它们之间的真正区别是什么?如果需要更改窗口的大小(不仅仅是其状态),请使用SetWindowPos,切换到该窗口,甚至切换到设置了激活和显示标志的SetWindowPos,何时以及为什么会首选bringwindowtop 使用showwindow仅更改窗口的状态 使用bringwindowtop通过子窗口激活父窗口。如果你给它发送一个子窗口(可能是一个浮动工具栏),父窗口将被带到最前面,并具有焦点,而不是子窗口 它们都有自己的位置,显然有重复的功能,但每一个都会根据您
它们之间的真正区别是什么?如果需要更改窗口的大小(不仅仅是其状态),请使用
SetWindowPos
,切换到该窗口
,甚至切换到设置了激活和显示标志的SetWindowPos
,何时以及为什么会首选bringwindowtop
使用showwindow
仅更改窗口的状态
使用bringwindowtop
通过子窗口激活父窗口。如果你给它发送一个子窗口(可能是一个浮动工具栏),父窗口将被带到最前面,并具有焦点,而不是子窗口
它们都有自己的位置,显然有重复的功能,但每一个都会根据您想要做的事情而有所不同。涉及到许多密切相关的概念,而且相关的术语经常被误用,即使在官方文档中也是如此 重要的窗口类型:
- 顶级窗口:没有父窗口的窗口。应用程序的主窗口几乎总是顶级窗口。它与z顺序无关
- 子窗口:父窗口包含的窗口。它们的位置始终相对于父窗口的区域。子窗口通常是“控件”:UI中的按钮和编辑框之类的东西
- 父窗口:具有子窗口的窗口。顶层窗口通常有子窗口。但请注意,子窗口也可能有子窗口,因此同时是父窗口和子窗口
- 拥有的窗口:由另一个窗口控制的窗口,但不一定是另一个窗口的子窗口。例如,浮动工具选项板:它属于应用程序中的另一个窗口,但未锁定到另一个窗口的区域
- 所有者窗口:拥有所有者窗口的窗口
- z顺序顶部:字面意思是指显示在其他窗口上方的窗口 <> >强>活动窗口< /强>:一个模糊概念,但它通常指的是用户将考虑“当前”窗口的顶层窗口。活动窗口通常使用独特的边框绘制,并且其在任务栏上的平铺高亮显示。在所有其他顶级窗口中,活动窗口通常位于或接近z顺序的顶部,并且它是具有键盘焦点的窗口的父窗口或所有者(可能是间接的)
- 键盘焦点:指示将接收键盘消息的窗口。从概念上讲,有一个具有键盘焦点的窗口。通常,具有焦点的窗口是活动窗口的子窗口(或孙子窗口等)
- 前景:活动窗口通常位于前景。这个名称似乎表明它位于z顺序的顶部,但它实际上意味着创建窗口的线程获得了一个轻微的优先级提升。该活动窗口通常也是前景窗口