我可以使用样式在父级之上保留一个框架:
wx.FRAME_FLOAT_ON_PARENT
但如果此父级打开其他子窗口,则会失去焦点。
有没有办法让它保持在这个给定应用程序的所有窗口之上?
我无法使用wx.STAY_ON_TOP
,因为当我将Alt-Tab添加到其他进程时,它始终位于顶部。
答案 0 :(得分:1)
最简单的解决方案(没有看到代码)可能是
1。将框架绑定到EVT_KILL_FOCUS
,然后从绑定事件中调用frame.SetFocus()
。缺点是在该框架上有多个小部件会使事情变得复杂,因为您必须绑定到每个小部件。获取具有焦点调用的帧wx.GetActiveWindow()
。
2. 将其他窗口绑定到EVT_ACTIVATE
,然后调用frame.SetFocus()
重新激活正确的帧。
3。尝试在您展示的其他框架上调用frame.ShowWithoutActivating
,以防止他们获得焦点。
4. 以上
的某些组合