スクロールバー付きの window

今度は、スクロールバー付きです。良く分かっていないので、「動けば正解」の例ということでご勘弁。

import wx

class DrawPanel(wx.ScrolledWindow):
        def __init__(self, parent):
                wx.ScrolledWindow.__init__(self, parent, -1)
                wx.EVT_PAINT(self, self.OnPaint)
                self.SetVirtualSize((5000, 5000))
                self.SetScrollRate(20, 20)
                self.buffer = wx.EmptyBitmap(5000, 5000)
                dc = wx.BufferedDC(None, self.buffer)
                dc.SetBackground(wx.Brush(self.GetBackgroundColour()))
                dc.Clear()
                dc.SetPen(wx.Pen("BLACK", 1))
                dc.DrawCircle(100, 100, 10)
                dc.DrawCircle(2000, 100, 10)

        def OnPaint(self, event=None):
                dc = wx.BufferedPaintDC(self, self.buffer,
                        wx.BUFFER_VIRTUAL_AREA)

class TopFrame(wx.Frame):
        def __init__(self, parent, ID, name):
                wx.Frame.__init__(self, parent, ID, name)

class MyApp(wx.App):
        def OnInit(self):
                f = TopFrame(None, -1, "Test 1")
                DrawPanel(f)
                f.Show(True)
                self.SetTopWindow(f)
                return True

if __name__ == '__main__':
        app = MyApp()
        app.MainLoop()