Hack wxMSW wxNotebook to show the text controls correctly initially.
Add an Update() call to ensure that text controls in the initially selected notebook page are shown correctly. It's almost certainly not the right fix for the real bug that results in text controls not being shown when the notebook comes up but it doesn't cost much and at least allows us to get correct appearance for the themed notebooks. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
b0162e3274
commit
feb32e3165
@ -194,6 +194,9 @@ protected:
|
||||
|
||||
// true if we have already subclassed our updown control
|
||||
bool m_hasSubclassedUpdown;
|
||||
|
||||
// true if we already refreshed the current page after showing the window
|
||||
bool m_doneUpdateHack;
|
||||
#endif // __WXWINCE__
|
||||
|
||||
#if wxUSE_UXTHEME
|
||||
|
@ -144,6 +144,7 @@ void wxNotebook::Init()
|
||||
|
||||
#if USE_NOTEBOOK_ANTIFLICKER
|
||||
m_hasSubclassedUpdown = false;
|
||||
m_doneUpdateHack = false;
|
||||
#endif // USE_NOTEBOOK_ANTIFLICKER
|
||||
}
|
||||
|
||||
@ -978,6 +979,21 @@ void wxNotebook::OnSize(wxSizeEvent& event)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Probably because of the games we play above to avoid flicker sometimes
|
||||
// the text controls inside notebook pages are not shown correctly (they
|
||||
// don't have their borders) when the notebook is shown for the first time.
|
||||
// It's not really clear why does this happen and maybe the bug is in
|
||||
// wxTextCtrl itself and not here but updating the page when it's about to
|
||||
// be shown doesn't cost much and works around the problem so do it here
|
||||
// for now.
|
||||
if ( !m_doneUpdateHack && IsShownOnScreen() )
|
||||
{
|
||||
m_doneUpdateHack = true;
|
||||
wxWindow* const page = GetCurrentPage();
|
||||
if ( page )
|
||||
page->Update();
|
||||
}
|
||||
#endif // USE_NOTEBOOK_ANTIFLICKER
|
||||
|
||||
event.Skip();
|
||||
|
Loading…
Reference in New Issue
Block a user