Why won't my wxWindow windows draw after Refresh or Update?
You need to call them both. One or the other usually doesn't work for most active drawing. Refresh essentially invalidates the update region and update forces an immediate redraw.
Furthermore, child windows often don't have their paint methods called when a parent refreshes, so you need to call children yourself. The above Refresh(false) assumes the window repaints its own background. This is usually more workable.
You might also try raising to the top of the Z order.