4

フレームを常に上に配置したいのですが、実際に上に配置したいのです。「常に上」にある場合でも、他のウィンドウで非表示にしたくありません。とを使用wx.STAY_ON_TOPしてwx.FRAME_FLOAT_ON_PARENTいますが、それでも私の上に表示されるウィンドウがあります。また、タスクバーはフレームの上部に表示されますが、フレームの後ろに配置したいのですが。

うまくいかなかった多くのことを試しましたが、ここで詳しく説明します。

私のフレームを本当に上に置く方法はありますか?

4

2 に答える 2

1

それらはそうする際の標準的な方法ではないため、ほとんどの場合望ましくない効果であるため、最上位のフラグを頻繁に再度設定して、最上位にある他のアプリケーションを「無効にする」ことで、これを達成できる可能性があります。これは、xミリ秒ごとに値を設定するタイマーを使用して行うことができます。または、ウィンドウのフォーカスが失われた場合にのみ、オントップフラグを再設定することもできます。オントップフラグを設定するイベントは次のとおりです。

EVT_SET_FOCUS 
EVT_KILL_FOCUS 
于 2012-09-24T21:31:56.130 に答える
1

これを使用してみてください:

wx.Frame.SetFocus()
于 2013-11-27T13:38:30.457 に答える