アプリケーションにフォーカスがないときに wxWidgets アプリケーションが新しいウィンドウを作成すると、次に示すように、そのアプリケーションに切り替えるまでタスクバー アイコンが黄色に点滅します。
これは面倒です。どうすればこれを防ぐことができますか?
編集: この質問の元のバージョンは、起動中に点滅が発生していることを示唆していました。さらに調査した結果、これはアプリケーションの起動時に発生していません。むしろ、アプリケーションにフォーカスがないときに追加のウィンドウを作成すると発生します。
もう少し背景を説明すると、私のアプリケーションは一種のサーバーであり、ネットワーク イベントに応答してウィンドウが開きます。アプリケーションを起動し、フォーカスを別のものに切り替え、フォーカスが別の場所にあるときにネットワーク イベントが発生すると、アプリケーションはバックグラウンドで (フォーカスを取得せずに) 新しいウィンドウを開き、この点滅が発生します。
ウィンドウはwxFrame
s です。Show(true)
アプリケーションはそれらとその子ウィジェットを構築し、フレームを呼び出します。
FlashWindow
また、 Win32 API 関数にブレークポイントを設定しようとしました。WX 内のどこで呼び出されてもトラップすることを望んでいましたが、それを機能させることができませんでした。