#! /usr/bin/env python

import wx

class MainFrame(wx.Frame):
    def __init__(self, title='wx-test18'):
        wx.Frame.__init__(self, None, wx.ID_ANY, title,
                          pos=(-1, -1))
        self.panel = MainPanel(self)

class MainPanel(wx.Panel):
    def __init__(self, parent):
        wx.Panel.__init__(self, parent, wx.ID_ANY)

        self.list = wx.ListCtrl(self, wx.ID_ANY, style=wx.LC_REPORT,
                                size=(350, 200))
        self.list.InsertColumn(0, 'heading text', width=346)
        for i in range(10):
            self.list.InsertStringItem(i, 'text %d' % i)

        wx.CallAfter(self.initBuffer)

    def initBuffer(self):
        w, h = self.GetClientSize()
        self.buffer = wx.EmptyBitmap(w, h)
        self.drawRect(w)

    def drawRect(self, width):
        if True:
            dc = wx.BufferedDC(wx.ClientDC(self), self.buffer)
        else:
            dc = wx.BufferedDC(wx.ClientDC(self.list), self.buffer)
        dc.SetBackground(wx.Brush('light grey'))
        dc.Clear()
        dc.SetBrush(wx.Brush('forest green'))
        dc.DrawRectangle(0, 20, width, 20)
        
if __name__ == "__main__":
    app = wx.PySimpleApp()
    win = MainFrame()
    win.Show()
    app.MainLoop()
