Give wxScrolledWindow its own Layout method that takes into account

the virtual size and scrolled offset of the window.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2002-03-15 00:21:47 +00:00
parent 5057e65939
commit 3048629765
6 changed files with 68 additions and 15 deletions

View File

@@ -836,11 +836,6 @@ void wxScrollHelper::CalcUnscrolledPosition(int x, int y, int *xx, int *yy) cons
// Default OnSize resets scrollbars, if any
void wxScrollHelper::HandleOnSize(wxSizeEvent& WXUNUSED(event))
{
#if wxUSE_CONSTRAINTS
if ( m_win->GetAutoLayout() )
m_win->Layout();
#endif
AdjustScrollbars();
}
@@ -1109,6 +1104,21 @@ wxGenericScrolledWindow::~wxGenericScrolledWindow()
{
}
bool wxGenericScrolledWindow::Layout()
{
if (GetSizer())
{
// Take into account the virtual size and scrolled position of the window
int x, y, w, h;
CalcScrolledPosition(0,0, &x,&y);
GetVirtualSize(&w, &h);
GetSizer()->SetDimension(x, y, w, h);
return TRUE;
}
else
return wxPanel::Layout(); // fall back to default for LayoutConstraints
}
void wxGenericScrolledWindow::OnPaint(wxPaintEvent& event)
{
// the user code didn't really draw the window if we got here, so set this