A WindowDC 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 WindowDC object.
To draw on a window from inside an EVT_PAINT() handler, construct a PaintDC object instead.
To draw on the client area of a window from outside an EVT_PAINT() handler, construct a ClientDC object.
A WindowDC object is initialized to use the same font and colours as the window it is associated with.