私は wxWindow を持っています。その中に wxBoxSize (Vertical) があります。sizer には 3 つの子コントロールがあります。
3 つの子コントロールの 1 つを非表示にして、サイザーとその親のサイズを自動的に変更できるようにしたいと考えています。たとえば、サイザーの 1 つの子コントロールを非表示にすると、ウィンドウが 200 ピクセル減少します。
現在、特定のコントロールを非表示にし、ウィンドウのサイズを変更する方法は次のようになります: (ハードコードされた、醜い)
void GenUIAanleverOptionsDialog::OnToggleButtonShowLabels( wxCommandEvent& event )
{
if(this->btnShowLabels->GetValue())
{
this->pnlInfoLabels->Show(true);
this->SetSize(this->GetSize().GetWidth(), 573);
}
else
{
this->pnlInfoLabels->Show(false);
this->SetSize(this->GetSize().GetWidth(), 294);
}
}