It should not be that complicated. Your download link above is broken currently, so I can't suggest direct modifications, but basicly just call SetBackgroundStyle(wxBG_STYLE_CUSTOM) in constructor of any window being double-buffered, and then use wxBufferedPaintDC instead of wxPaintDC. You possibly need to use wxBUFFER_VIRTUAL_AREA as style in the dc constructor (see wx docs for more).gururamnath wrote: I think modifiying the existing code to use wxBufferedPaintDC should require lot of changes in lot of places. If you have time, can you please have a look the control and suggest where I can use the wxBufferedPaintDC ? If so, I can send my modified copy that uses mouse move event to paint the headers.
Also, unless you specify bitmap for the dc constructor, wx allocates a temporary bitmap at every dc creation, so for performance purposes you may want to pre-allocate one (it can be done in OnPaint). In my experience, a single bitmap is sufficient for all your windows.
And of course, when using buffered DCs you need to always paint your own background, if needed.