Splitter SetSashPosition не меняет положени Topic is solved

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Splitter SetSashPosition не меняет положени

Post by borr_1 »

Code: Select all

Splitter = new wxSplitterWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D );
	Splitter->SetSashGravity( 1 );
	Splitter->Connect( wxEVT_IDLE, wxIdleEventHandler( guiHandComingPanel::SplitterOnIdle ), NULL, this );
Splitter->SplitVertically( LPanel, RPanel, 0 );
Splitter->SetSashPosition(20, true);// и ничего не происходит split остается посередине
Как менять положение сплита(wxSplitterWindow)?
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse
borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 »

Почему так я так и не понял пришлось навесить событиие на IDLE

Code: Select all

Splitter->Connect( wxEVT_IDLE, wxIdleEventHandler( MyFrame::SplitterOnIdle ), NULL, this );
---------------------------------
void MyFrame::SplitterOnIdle( wxIdleEvent& )
{
	int width = config.Read(wxT("MyFrame/Splitter"), 1);
	Splitter->SetSashPosition(width);
	Splitter->Disconnect( wxEVT_IDLE, wxIdleEventHandler( MyFrame::SplitterOnIdle ), NULL, this );
}
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse