問題タブ [sizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
147 参照

c++ - wxBoxSizer(wxVERTICAL) 内からすべての要素 (wxsizers と wxwindows を含む) を正しく削除する方法

こんにちは、 wxBoxSizer(wxVERTICAL) 内からすべての要素 (wxSizers と wxWindows を含む) を削除しようとしています。私が使用している階層構造は、以下のスクリーンショットに示されています。

  1. wxBoxSizer(wxVERTICAL) : これにはすべてが含まれており、このサイザー内のすべてを削除したいと考えています。このサイザーを mainSizer と呼びましょう。
  2. wxPanel: これを elementPanel と呼びましょう
  3. wxBoxSizer(wxVERTICAL): これには、ステップ 4 の水平サイザーが含まれます。
  4. wxBoxSizer(wxHORIZONTAL): これには wxStaticText と水平スペーサーの両方が含まれます
  5. 表示したいテキストを保持するwxStaticText
  6. wxBoxSizer(wxHORIZONTAL): 固定幅の水平スペーサーです。

静的テキストを垂直方向に中央揃えにするために、静的テキストの上下に配置される垂直スペーサーがさらに 2 つあることに注意してください。ただし、図には示していません。

含まれている mainSizer が垂直であるため、1 つの mainSizer とそのような多くの elementPanels が垂直に配置されています。ここで、垂直に配置されたすべての elementPanels (およびその中のすべて) を mainSizer から削除したいと考えています。どうすればこれを達成できますか?また、wxsizer には ID が関連付けられていますか? そうでない場合、プログラムの別の部分からこの特定の mainSizer を見つけて、その中のすべてを削除するにはどうすればよいですか。つまり、mainSizer に追加したすべての elementPanels (およびその中のすべて) を削除したいのですが、mainSizer 自体は削除しません。

wxPanel 内に mainSizer を配置し、その ID を使用して mainSizer にアクセスできると思います。しかし、mainSizer からすべての子 (sizer と wxWindow を含む) を削除するにはどうすればよいですか?

メインサイザー