如何创建一个悬浮在 Windows 上的其他小部件的浮动小部件?

How to create a floating widget hovering other widgets on Windows?

假设我们在 window 层次结构和 sizer 层次结构中都有一个 wxWebView 控件。我们如何在 Windows 上的 wxWebView 上方创建一个静态文本“正在加载”?谢谢。

在 Linux 上很简单。创建一个 wxStaticText,其中 parent/owner 与 wxWebView 相同,仅此而已。不幸的是,它不适用于 Windows。 wxStaticText 是不可见的,因为它被 wxWebView 覆盖了。我尝试了很多方法,包括调用他们的方法 LowerRaise 来调整他们的 z 顺序,但都是徒劳的。

我也试过把文字放到一个wxFrame里,以samples/shaped/为例,转念一想,新的顶层框架可能会覆盖其他进程的GUI。所以这不是一个好的设计。

有什么建议吗?谢谢。

wxWidgets 不支持重叠 child 控件,因此您需要为浮动控件使用不同的顶层 window,通常是 wxPopupWindow —— 然后您可以要么在其中绘制文本,要么将 wxStaticText 设为 child.