wxFrame::size There is always a hack to solve your problems.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1998-11-23 14:27:36 +00:00
parent 06405ac80b
commit 3517843735
3 changed files with 36 additions and 28 deletions

View File

@@ -184,21 +184,25 @@ bool wxFrame::Show( bool show )
{
wxASSERT_MSG( (m_widget != NULL), "invalid frame" );
if (show)
if (show && !m_sizeSet)
{
/*
wxSizeEvent event( wxSize(m_width,m_height), GetId() );
m_sizeSet = FALSE;
GetEventHandler()->ProcessEvent( event );
*/
// here we give wxFrame a chance to do resize updates
// before appearing on screen. resize updates have to
// be handled in idle time because of GTK's super smart
// resize propagation algorithm.
// this yield call is required for a configure event
// to be sent by GTK to its windows. this will among
// others prompt all GtkScrolledWidgets to calculate
// if they need scrollbars which in turn is required
// for wxWindows to calculate the client size of its
// windows.
wxYield();
// by calling GtkOnSize here, we don't have to call
// either after showing the frame, which would entail
// much ugly flicker nor from within the size_allocate
// handler, because GTK 1.1.X forbids that.
GtkOnSize( m_x, m_y, m_width, m_height );
}
return wxWindow::Show( show );
}