]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/notebook.cpp
Add wxGrid::Render() for drawing the grid to any wxDC.
[wxWidgets.git] / src / msw / notebook.cpp
index e69fd60c43b2859307031a05f0e2798971e88edc..5990c012bc29b541bcc49c00cf9dccc0dd7cb36f 100644 (file)
@@ -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();