phoenix_title wx.ClientDC

wx.ClientDC is primarily useful for obtaining information about the window from outside EVT_PAINT() handler.

Typical use of this class is to obtain the extent of some text string in order to allocate enough size for a window, e.g.

# Create the initially empty label with the size big enough to show
# the given string.
dc = wx.ClientDC(self)
text = wx.StaticText(
    self,
    size=dc.GetTextExtent("String of max length"),
    style=wx.ST_NO_AUTORESIZE
   )

wx.ClientDC objects should normally be constructed as temporary stack objects, i.e. don’t store a wx.ClientDC object.

A wx.ClientDC object is initialized to use the same font and colours as the window it is associated with.

Note

While wx.ClientDC may also be used for drawing on the client area of a window from outside an EVT_PAINT() handler in some ports, this does not work on all platforms (neither wxOSX nor wxGTK with GTK 3 Wayland backend support this, so drawing using wx.ClientDC simply doesn’t have any effect there) and the only portable way of drawing is via wx.PaintDC. To redraw a small part of the window, use wx.Window.RefreshRect to invalidate just this part and check wx.Window.GetUpdateRegion in the paint event handler to redraw this part only.

See also

wx.DC, wx.MemoryDC, wx.PaintDC, wx.WindowDC, wx.ScreenDC


class_hierarchy Class Hierarchy

Inheritance diagram for class ClientDC:

sub_classes Known Subclasses

wx.PaintDC


method_summary Methods Summary

__init__

Constructor.


api Class API

class wx.ClientDC(WindowDC)

Possible constructors:

ClientDC(window)

ClientDC is primarily useful for obtaining information about the window from outside EVT_PAINT() handler.


Methods

__init__(self, window)

Constructor.

Pass a pointer to the window on which you wish to paint.

Parameters:

window (wx.Window) –