moved toolbar adjustments for the client size from wxTLWMSW to wxFrameMSW to fix problems in wxUniv

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2002-01-10 23:58:31 +00:00
parent 37fd1c97bd
commit 68d02db3ed
3 changed files with 15 additions and 33 deletions

View File

@@ -88,10 +88,6 @@ protected:
// common part of Iconize(), Maximize() and Restore()
void DoShowWindow(int nShowCmd);
// implement the geometry-related methods for a top level window
virtual void DoSetClientSize(int width, int height);
virtual void DoGetClientSize(int *width, int *height) const;
// get the MSW window flags corresponding to wxWindows ones
//
// the functions returns the flags (WS_XXX) directly and puts the ext

View File

@@ -157,6 +157,11 @@ void wxFrame::DoSetClientSize(int width, int height)
}
#endif // wxUSE_STATUSBAR
// call GetClientAreaOrigin() to take the toolbar into account
wxPoint pt = GetClientAreaOrigin();
width += pt.x;
height += pt.y;
wxTopLevelWindow::DoSetClientSize(width, height);
}
@@ -165,6 +170,14 @@ void wxFrame::DoGetClientSize(int *x, int *y) const
{
wxTopLevelWindow::DoGetClientSize(x, y);
// account for the possible toolbar
wxPoint pt = GetClientAreaOrigin();
if ( x )
*x -= pt.x;
if ( y )
*y -= pt.y;
#if wxUSE_STATUSBAR
// adjust client area height to take the status bar into account
if ( y )

View File

@@ -386,33 +386,6 @@ wxTopLevelWindowMSW::~wxTopLevelWindowMSW()
}
}
// ----------------------------------------------------------------------------
// wxTopLevelWindowMSW client size
// ----------------------------------------------------------------------------
void wxTopLevelWindowMSW::DoSetClientSize(int width, int height)
{
// call GetClientAreaOrigin() to take the toolbar into account
wxPoint pt = GetClientAreaOrigin();
width += pt.x;
height += pt.y;
wxWindow::DoSetClientSize(width, height);
}
void wxTopLevelWindowMSW::DoGetClientSize(int *x, int *y) const
{
wxWindow::DoGetClientSize(x, y);
wxPoint pt = GetClientAreaOrigin();
if ( x )
*x -= pt.x;
if ( y )
*y -= pt.y;
}
// ----------------------------------------------------------------------------
// wxTopLevelWindowMSW showing
// ----------------------------------------------------------------------------