subclass all updown controls in notebooks, not just the first one

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34320 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2005-05-24 19:18:15 +00:00
parent 600ffb3230
commit dfb47d834d
2 changed files with 18 additions and 7 deletions

View File

@@ -229,6 +229,10 @@ void wxNotebook::Init()
#if wxUSE_UXTHEME
m_hbrBackground = NULL;
#endif // wxUSE_UXTHEME
#if USE_NOTEBOOK_ANTIFLICKER
m_hasSubclassedUpdown = false;
#endif // USE_NOTEBOOK_ANTIFLICKER
}
// default for dynamic class
@@ -921,7 +925,7 @@ void wxNotebook::OnSize(wxSizeEvent& event)
#if USE_NOTEBOOK_ANTIFLICKER
// subclass the spin control used by the notebook to scroll pages to
// prevent it from flickering on resize
if ( !gs_wndprocNotebookSpinBtn )
if ( !m_hasSubclassedUpdown )
{
// iterate over all child windows to find spin button
for ( HWND child = ::GetWindow(GetHwnd(), GW_CHILD);
@@ -935,9 +939,11 @@ void wxNotebook::OnSize(wxSizeEvent& event)
if ( !childWindow )
{
// subclass the spin button to override WM_ERASEBKGND
gs_wndprocNotebookSpinBtn = (WXFARPROC)wxGetWindowProc(child);
if ( !gs_wndprocNotebookSpinBtn )
gs_wndprocNotebookSpinBtn = (WXFARPROC)wxGetWindowProc(child);
wxSetWindowProc(child, wxNotebookSpinBtnWndProc);
m_hasSubclassedUpdown = true;
break;
}
}