0

wxWidgetsを始めたばかりですが、サイザー内のボタンを常にフルサイズで表示する方法が見つかりませんでした。

すなわち。ユーザーがウィンドウサイズを小さくしすぎないようにする必要があります。

どんな助けでもありがたいです。

4

4 に答える 4

1

wxTopLevelWindow::SetMinSizeを使用すると、ウィンドウのサイズを変更できる最小サイズを設定できます。必要に応じて、いつでもプログラムで小さくすることができます。

于 2012-09-18T06:45:31.493 に答える
0

レイアウトへのコントロールの追加が終了したら、GetSizer()-> Fit()を使用します。

http://docs.wxwidgets.org/2.9.4/classwx_sizer.html#abad9cedc0cbe9ade2c799da23462d17e

ユーザーを阻止したいことに気づきました。サイザーではなく、ウィンドウを縮小しすぎないようにします。

これを行う方法は、サイズ変更イベントを処理することです。ハンドラーで、新しいサイズを最小サイズと照合し、小さすぎる場合は、サイズ変更が発生しないようにします。

于 2012-09-17T23:28:07.280 に答える
0

Sizer は、使用可能なサイズを要素間で分配します。使用可能な十分なスペースがない場合、何か問題が発生することは避けられません。つまり、少なくともいくつかのコントロールのサイズが十分ではなくなります。

これが起こらないようにするには、トップ レベル ウィンドウが最初は十分な大きさであり、ユーザーがサイズを小さく変更できないようにする必要があります。SetSizerAndFit(sizer)これを実現する最も簡単な方法は、サイザーをトップレベル ウィンドウに関連付けるときに呼び出すことです。これにより、これらの両方が同時に実行されます。

于 2012-09-18T09:32:58.693 に答える
0

OK最終的に私は答えを得ました。フレームにアタッチされたサイザーはSetSizeHints()を呼び出す必要があります

編集: 以下に示すように、トップ レベル ウィンドウに対して呼び出すのが正しいです。

于 2012-09-18T18:17:25.887 に答える