GeezerVison is showing docs.wxpython.org — Device Contexts — wxPython 4.3.2 Docs
Device Contexts¶
A wx.DC is a device context onto which graphics and text can be
drawn. The device context is intended to represent a number of output
devices in a generic way, with the same API being used throughout.
Some device contexts are created temporarily in order to draw on a
window. This is true of wx.ScreenDC, wx.ClientDC,
wx.PaintDC, and wx.WindowDC. The following describes the
differences between these device contexts and when you should use
them.
wx.ScreenDC. Use this to paint on the screen, as opposed to an
individual window.
wx.ClientDC. Use this to paint on the client area of window (the
part without borders and other decorations), but do not use it from
within an wx.PaintEvent.
wx.PaintDC. Use this to paint on the client area of a window,
but only from within a wx.PaintEvent.
wx.WindowDC. Use this to paint on the whole area of a window,
including decorations. This may not be available on non-Windows
platforms.
To use a client, paint or window device context, create an object on
the stack with the window as argument, for example:
def OnMyCmd(self, event):
dc = wx.ClientDC(window)
DrawMyPicture(dc)
Try to write code so it is parameterised by wx.DC - if you do
this, the same piece of code may write to a number of different
devices, by passing a different device context. This doesn’t work for
everything (for example not all device contexts support bitmap
drawing) but will work most of the time.