A wxWindowDC must be constructed if an application wishes to paint on the whole area of a window (client and decorations). This should normally be constructed as a temporary stack object; don't store a wxWindowDC object.
To draw on a window from inside an EVT_PAINT() handler, construct a wxPaintDC object instead.
To draw on the client area of a window from outside an EVT_PAINT() handler, construct a wxClientDC object.
A wxWindowDC object is initialized to use the same font and colours as the window it is associated with.
This class is derived (and can use functions) from: wxDC
wxWidgets docs: wxWindowDC