0

次のレイアウトの GUI アプリケーションがありました。

wxFrame --> wxBoxSizer --> wxImagePanel

wxImagePanel はカスタム コントロールです (ここから入手できます)。イメージをパンできるようにするドラッグなどのマウス イベント (EVT_MOTION を使用) を処理するように少し変更しました。

残念ながら、これは Windows では見栄えが悪く、背景が暗い灰色になっています。推奨されるアプローチは、wxFrame に wxPanel を追加することです。これにより、醜い背景がなくなります。アプリは次のようにレイアウトされます。

wxFrame --> wxBoxSizer --> wxPanel --> wxBoxSizer --> wxImagePanel (a custom control)

見た目はかなり良くなりましたが、追加した wxPanel がすべてのマウス モーション イベントを取得しています。それらは子 wxImagePanel に到達しないため、画像をパンすることはできません。

マウス モーション イベントが子 wxImagePanel に到達することを確認するにはどうすればよいですか?

4

2 に答える 2

0

wxWidgets forumsで質問して、問題を解決しました。

基本的に、私の問題は、wxImagePanel が wxFrame の子であるのに対し、代わりに wxPanel の子であるべきだったことです。

于 2012-06-15T13:44:08.723 に答える
0

通常の順序は次のとおりです。

wxFrame --> wxPanel --> wxBoxSizer

私はあなたがそうのように、これを使用する方がはるかに良いと思います

wxFrame --> wxImagePanel --> wxBoxSizer

また

wxFrame --> wxPanel --> wxBoxSizer --> wxImagePanel

于 2012-06-14T15:48:07.797 に答える