-        self.SetPosition(pos)
-        font = parent.GetFont()
-        if not font.Ok():
-            font = wx.SystemSettings.GetFont(wx.SYS_DEFAULT_GUI_FONT)
-        wx.PyControl.SetFont(self, font) # same here
-
-        self.defBackClr = parent.GetBackgroundColour()
-        if not self.defBackClr.Ok():
-            self.defBackClr = wx.SystemSettings.GetColour(wx.SYS_COLOUR_3DFACE)
-        self.SetBackgroundColour(self.defBackClr)
-
-        clr = parent.GetForegroundColour()
-        if not clr.Ok():
-            clr = wx.SystemSettings.GetColour(wx.SYS_COLOUR_BTNTEXT)
-        self.SetForegroundColour(clr)
-
-        rw, rh = size
-        bw, bh = self.GetBestSize()
-        if rw == -1: rw = bw
-        if rh == -1: rh = bh
-        self.SetSize(wx.Size(rw, rh))
+        self.defBackClr = self.GetBackgroundColour()
+        self.InheritAttributes()
+        self.SetBestFittingSize(size)