self.sizerType = "vertical"
         
     def AddChild(self, child):
-        wx.PyPanel.base_AddChild(self, child)
-        
+        if wx.VERSION < (2,8):
+            wx.PyPanel.base_AddChild(self, child)
+        else:
+            wx.PyPanel.AddChild(self, child)
+
+        # Note: The wx.LogNull is used here to suppress a log message
+        # on wxMSW that happens because when AddChild is called the
+        # widget's hwnd hasn't been set yet, so the GetWindowRect that
+        # happens as a result of sizer.Add (in wxSizerItem::SetWindow)
+        # fails.  A better fix would be to defer this code somehow
+        # until after the child widget is fully constructed.
         sizer = self.GetSizer()
+        nolog = wx.LogNull()
         item = sizer.Add(child)
+        del nolog
         item.SetUserData({"HGrow":0, "VGrow":0})
         
         # Note: One problem is that the child class given to AddChild
         self.SetAutoLayout(True)
         
     def GetContentsPane(self):
-        return self.mainPanel
\ No newline at end of file
+        return self.mainPanel