问题标签 [z-order]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1706 浏览

android - ProgressDialog 显示在另一个对话框后面

我的自定义对话框有一个需要很长时间才能获得的列表。所以我将它加载到使用 AsyncTask 在 onPrepareDialog 中启动的单独线程中。在调用 AsyncTask.execute 之前,我调用 ProgressDialog。问题是,当我的对话框第一次被调用(onCreateDialog 被调用)时,ProgressDialog 显示在我的(空)对话框后面。如何在 hr 前面显示 ProgressDialog?当我的对话框被关闭并再次显示时,显示顺序是正确的。

0 投票
1 回答
4918 浏览

windows - 如何使窗口绝对最顶层?

我使用SetWindowPos api 通过 HWND_TOPMOST 参数使我的窗口位于最顶层。它工作正常,但仍然有工具提示。

例子

如何让我的窗户最重要。有我缺少的api吗?

编辑:我用计时器检查前景窗口,然后将我的设置为最上面。

0 投票
1 回答
7507 浏览

c++ - 如何在不激活其他应用程序窗口的情况下将其置于前面?

我想把一个窗口(来自其他应用程序)放在前面。目前我正在使用:

它工作正常,但在某些(我不知道的)情况下,它使窗口始终位于顶部。根据 MSDN,我应该使用HWND_NOTOPMOST代替,GetForegroundWindow()但它不起作用——该窗口位于其他(并不总是在顶部)窗口之下。

如何在不激活窗口的情况下将窗口置于前面?

0 投票
1 回答
2991 浏览

.net - WPF 中的窗口所有者,没有始终在顶部的行为

是否有可能在Window.Owner不获得全部功能的情况下获得一些功能?

有两个窗口,窗口 A 和窗口 B。我想让它选择任何一个都可以将它们置于其他应用程序之上,但任何一个都可以覆盖另一个。(实际上不止两个,但它们的行为都应该相似。)

如果我将窗口 B 设置Owner为 A,那么切换到任一窗口都会将两者都放在其他应用程序的前面(我想要的),但也会迫使 B 总是坐在 A 的顶部(我不想要)。

实际上,我已经有了独立于Owner/跟踪窗口层次结构的代码OwnedWindows,所以我可以扩展它来解决激活问题。因此,如果这可以简化问题,我正在寻找的另一个答案是:

我实际上该怎么做“当用户激活此窗口时,将一组特定的窗口(应用程序中的所有其他窗口)带到我下方的 Z 顺序,同时保留它们现有的相对于彼此的 Z 顺序” ?

0 投票
2 回答
3444 浏览

wpf - 在 WPF 中,如何在 DataGrid 之上显示 AdornerLayer

我正在使用来自 codeplex 的 WPF 数据网格。我正在使用 DatagridTemplateColumn 并且我已经编写了数据模板来显示每列中的内容。

现在我必须在 datagrid 中的任何控件聚焦时向用户显示一些帮助消息。为此,我想到了使用装饰层。我使用了 ComboBox 加载事件并访问了它的 adrorner 层。然后我添加了我自己的装饰层,其中显示了一些类似于工具提示的东西。下面是代码。

PEAdorner层是这个::

现在问题如下。我附上了它在数据网格中的外观的屏幕截图。如果数据网格有超过 4 行,一切都很好。下面是截图

正确的帮助文本

如果数据网格的行数较少,则此装饰器进入数据网格内部并且对用户不可见。截图如下 半帮助文本

如何在 DataGrid 上方获得这个装饰层?请帮我 !!!

0 投票
1 回答
759 浏览

.net - 如何避免在显示和隐藏控件时更改控件的 z 顺序?

我有一个表格,上面有一些控件(面板、组框等),它们都已control.Dock = DockStyle.Top设置。根据表单上组合框的选定值,只有其中一些面板应该同时可见(因为隐藏的面板不适用于选定的选项)。对接是为了让 UI 显得更加紧凑。

每当 ComboBox 选择发生变化时以及在 Form 的 Shown 事件上发生变化时,这些 Panel 的 Visible 属性都会发生变化(因为当 Form 第一次显示并且 ComboBox 选择尚未更改时,并非所有 Panel 都应该可见)。

现在,问题是,当我关闭表单时(因为它是一个模式对话框,它没有被破坏),稍后重新打开它并更改组合框选择,表单顶部的面板的显示顺序已经改变。直到表格被关闭一次才会发生。我知道停靠控件的显示顺序与父控件的 ControlCollection 中这些控件的顺序相关联。这也决定了控件的 z 顺序,因此也决定了问题的标题。

是什么导致控制顺序发生变化以及如何避免它?

0 投票
2 回答
15364 浏览

android - 如何在 Android 上正确使用 setZOrderMediaOverlay?

像许多其他人一样,我正在尝试在相机预览(使用 SurfaceView)上绘制 3D 对象(使用 GLSurfaceView),以及放置在顶部的一些按钮。我实际上得到了一个原型工作,但我无法让 onResume 正常工作。恢复后,GLSurfaceView 留在后面,不再可见。我知道它正在工作,因为如果我从布局中删除 SurfaceView,我可以看到很好的绘图。

目标是 Nexus One,运行库存 2.3.3 ROM。

这是布局xml:

所有这些都包含在一个<merge>块中,但由于某种原因,我无法将它包含在上面的<code>清单中。Preview是扩展SurfaceView和实现相机预览逻辑的类。

这在活动启动时工作正常。在我启动另一个活动(例如,通过按下其中一个按钮)并完成该活动后,主要活动恢复,但 3D 对象不再可见。

我发现了这个讨论,其中提到这setZOrderMediaOverlay()将有助于解决这个 z 排序问题。此外,setZOrderMediaOverlay() 的 Android 文档说,应该在“将表面视图的包含窗口附加到窗口管理器之前”调用此函数。我不知道我应该如何解释该语句,所以我将调试语句放在代码中以查看事件顺序。代码如下GLSurfaceView所示:

这是我启动应用程序时的事件顺序:

所以我假设setZOrderMediaOverlay()需要onResume()在构造函数中或构造函数中调用它。但是,我在or类中尝试了setZOrderMediaOverlay()with trueor的各种组合,但都没有解决问题。falseGLSurfaceViewSurfaceView

在 Android 编程方面,我相对较新。我已经走了这么远,但在这一点上我需要一些帮助。如果有人setZOrderMediaOverlay()在这种情况下成功使用并与之合作,onResume()请告诉我这需要如何完成。

提前非常感谢!

0 投票
1 回答
385 浏览

javascript - 设置 iframe 对象的 Z 顺序

我将 Javascript 用于带有下拉子菜单的菜单栏。但是这些下拉菜单出现在我的 iframe 对象下并且不可见。如何将菜单的 Z 顺序设置为大于 iframe?

你可以在这里看到一个例子http://theiatech.com/papers.php?paper=5。例如,应用程序菜单有 4 个子菜单项,但只有 3 个可见。

0 投票
1 回答
1719 浏览

wpf - WPF ListBox 中的 WindowsFormHost 项 - Z-Order

我已经到了网络的尽头并回来了,我似乎无法为我的 Z-Ordering WindowsFormsHost 问题找到任何解决方案。我的问题特定于呈现一个 ListBox,其中项目是 WindowsFormsHost 包装的 WinForm 控件。渲染时,所有项目都会显示,即使是 ListBox 边界之外的项目——这使得整个屏幕看起来很糟糕。

我附上了一个快速代码示例。我有什么选择吗?我需要重新考虑我的布局吗?

和代码隐藏:

请帮忙 :)

0 投票
1 回答
244 浏览

html - 寡妇制表顺序 == HTML Z 顺序吗?

如果我使用 Windows 程序生成 HTML 表单,我可以说 Windows tab-order == HTML Z-order 吗?