2016-10-27 3 views
0

私はモーダルwxDialogBoxにプッシュボタンがあります。このプッシュボタンをクリックすると、wxPopupTransientWindowが起動します。このwxPopupTransientWindowには、wxTextCtrlやwxButtonのようないくつかのコントロールがあります。ポップアップMacでwxDialogを親として持つ

これははにアクセスできないwxPopupTransientWindowポップアップが、を取得しているwxPopupTransientWindow をクリックし、ボタンの上にMac上で、MSWの下に完全に取り組んでいます。 wxDialogBoxは、モーダルダイアログのようにwxPopupTransientWindowをブロックします。

どうすればいいですか?wxPopupTransientWindowにアクセスできますか?

答えて

0

このバグはすでに説明を読んだ後(http://trac.wxwidgets.org/ticket/17406

を報告している、私は、モーダルwxDialogのコンストラクタにwxPopupWindow/wxPopupTransientWindowを作成する場合、それは親だとして、その後、wxDialogが追加されたことを知っているようになりました。したがって、wxPopupWIndowをモーダルwxDialogコンストラクタに作成しないでください。

私はこの問題に対処するための2つの方法が見つかりました:

  1. がwxDialogコンストラクタで作成しないでください。あなたがそれを必要とするとき(すなわち、マウスのホバーに、ボタンなどをクリックしてください)wxPopupWindowコンストラクタで1時間を作成し、後で多くの時間をそれを使用、それを作成するためにCallAfterを使用したい場合は

  2. を作成します。 CallAfterは、コンストラクタコールの終了後に次のラウンドのためにwxPopupWindowの作成をスケジュールします。

これは良い修正ではありませんが、これは私が直接解決策として見つけたものです。

関連する問題