Resizing sizer problem Topic is solved

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
Gera555
Knows some wx things
Knows some wx things
Posts: 42
Joined: Mon Aug 02, 2010 11:49 am
Location: Ukraine, Odessa

Resizing sizer problem

Post by Gera555 » Sat Sep 25, 2010 9:10 am

Добрый день.

У меня возникла проблема с сайзером и не могу понять почему так происходит. В общем у меня есть wxStaticBoxSizer, в котором еще несколько wxStaticBoxSizer, в которых разные элементы. Все это дело находиться в wxAui панеле.

Так вот При ресайзе этой панели все эти wxStaticBoxSizer-ы сначала уменьшаются вместе, а потом внутренние останавливаются(как и должно быть, т.к. внутри есть статические элементы), а внешний продолжает уменьшаться. И выглядит это некрасиво...

Вот часть кода:

Code: Select all

wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
	itemBoxSizer2->Add(itemBoxSizer3, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALL, 5);

	wxStaticBox* itemStaticBoxSizer4Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Filter"));
	wxStaticBoxSizer* itemStaticBoxSizer4 = new wxStaticBoxSizer(itemStaticBoxSizer4Static, wxHORIZONTAL);
	itemBoxSizer3->Add(itemStaticBoxSizer4, 0, wxEXPAND|wxALIGN_LEFT|wxALL, 1);

	wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
	itemStaticBoxSizer4->Add(itemBoxSizer5, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 0);

	wxBoxSizer* itemBoxSizer6 = new wxBoxSizer(wxHORIZONTAL);
	itemBoxSizer5->Add(itemBoxSizer6, 1, wxEXPAND|wxALIGN_LEFT|wxALL, 0);

	wxStaticBox* itemStaticBoxSizer7Static = new wxStaticBox(itemDialog1, wxID_ANY, _(" Source "));
	wxStaticBoxSizer* itemStaticBoxSizer7 = new wxStaticBoxSizer(itemStaticBoxSizer7Static, wxHORIZONTAL);
	itemBoxSizer6->Add(itemStaticBoxSizer7, 5, wxEXPAND|wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 1);

wxStaticBox* itemStaticBoxSizer49Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Location"));
	wxStaticBoxSizer* itemStaticBoxSizer49 = new wxStaticBoxSizer(itemStaticBoxSizer49Static, wxVERTICAL);
	itemBoxSizer6->Add(itemStaticBoxSizer49, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxALL, 1);
Т.е. В Source и Location все хорошо, а Filter выпендривается. Подскажите в чем может быть проблема. Заранее благодарен...

User avatar
T-Rex
Moderator
Moderator
Posts: 1195
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Post by T-Rex » Sun Sep 26, 2010 7:32 pm

Может есть смысл после создания AUI панели указать ей MinSize()? Сначала созать wxPanel, потом заполнить ее контролами, потом сделать Fit(), потом запомнить этот размер, добавить в AUI manager и указать min size тот что запомнили. Как-то так.

Gera555
Knows some wx things
Knows some wx things
Posts: 42
Joined: Mon Aug 02, 2010 11:49 am
Location: Ukraine, Odessa

Post by Gera555 » Tue Oct 05, 2010 9:33 am

Это не вариант, т.к. в этой панели параметры фильтра, а это около 30 контролов, а ниже должна быть большая таблица... Плюс сбоку всплывающая панель...
Классно отображается на мониторах начиная с 21 дюйма... А для остальных нужно что-то придумать...

Post Reply