Version: 3.1.0
Overview of Available Classes

This page contains a summarized listing of classes, please see the Class List by Category page for a full listing by category or the full list of classes in alphabetical order.

For a more visual approach, see the screenshots page.

Basic Windows

The following are the most important window classes

Window Layout

There are two different systems for laying out windows (and dialogs in particular). One is based upon so-called sizers and it requires less typing, thinking and calculating and will in almost all cases produce dialogs looking equally well on all platforms, the other is based on so-called constraints and is deprecated, though still available.

Related Overviews: Sizers Overview

These are the classes relevant to sizer-based layout:

  • wxSizer: Abstract base class
  • wxBoxSizer: A sizer for laying out windows in a row or column
  • wxGridSizer: A sizer for laying out windows in a grid with all fields having the same size
  • wxFlexGridSizer: A sizer for laying out windows in a flexible grid
  • wxGridBagSizer: Another grid sizer that lets you specify the cell an item is in, and items can span rows and/or columns.
  • wxStaticBoxSizer: Same as wxBoxSizer, but with a surrounding static box
  • wxWrapSizer: A sizer which wraps its child controls as size permits

Other layout classes:

Managed Windows

There are several types of window that are directly controlled by the window manager (such as MS Windows, or the Motif Window Manager). Frames and dialogs are similar in wxWidgets, but only dialogs may be modal.

Related Overviews: Common Dialogs


  • wxMenu: Displays a series of menu items for selection
  • wxMenuBar: Contains a series of menus for use with a frame
  • wxMenuItem: Represents a single menu item


Typically, these are small windows which provide interaction with the user. Controls that are not static can have wxValidator associated with them.


These are the window validators, used for filtering and validating user input.

Related Overviews: wxValidator Overview

Picker Controls

These controls provide the user with the possibility to choose something (file or directory, font or colour, ...) directly from the window containing them.

Miscellaneous Windows

The following are a variety of classes that are derived from wxWindow.

Window Docking (wxAUI)

wxAUI is a set classes for writing a customizable application interface with built-in docking, floatable panes and a flexible MDI-like interface.

Related Overviews: wxAUI Overview

  • wxAuiManager: The central class for managing the interface
  • wxAuiNotebook: A replacement notebook class with extra features
  • wxAuiPaneInfo: Describes a single pane
  • wxAuiDockArt: Art and metrics provider for customizing the docking user interface
  • wxAuiTabArt: Art and metrics provider for customizing the notebook user interface

Common Dialogs

Common dialogs are ready-made dialog classes which are frequently used in an application.

Related Overviews: Common Dialogs


wxWidgets provides a set of classes to display text in HTML format. These classes include a help system based on the HTML widget.

Device Contexts

Device contexts are surfaces that may be drawn on, and provide an abstraction that allows parameterisation of your drawing code by passing different device contexts.

Related Overviews: Device Contexts

  • wxAutoBufferedPaintDC: A helper device context for double buffered drawing inside OnPaint().
  • wxBufferedDC: A helper device context for double buffered drawing.
  • wxBufferedPaintDC: A helper device context for double buffered drawing inside OnPaint().
  • wxClientDC: A device context to access the client area outside OnPaint() events
  • wxPaintDC: A device context to access the client area inside OnPaint() events
  • wxWindowDC: A device context to access the non-client area
  • wxScreenDC: A device context to access the entire screen
  • wxDC: The device context base class
  • wxMemoryDC: A device context for drawing into bitmaps
  • wxMetafileDC: A device context for drawing into metafiles
  • wxMirrorDC: A proxy device context allowing for simple mirroring.
  • wxPostScriptDC: A device context for drawing into PostScript files
  • wxPrinterDC: A device context for drawing to printers

Graphics Context classes

These classes are related to drawing using a new vector based drawing API and are based on the modern drawing backend GDI+, CoreGraphics and Cairo.

Graphics Device Interface

These classes are related to drawing on device contexts and windows.

  • wxColour: Represents the red, blue and green elements of a colour
  • wxDCClipper: Wraps the operations of setting and destroying the clipping region
  • wxBrush: Used for filling areas on a device context
  • wxBrushList: The list of previously-created brushes
  • wxFont: Represents fonts
  • wxFontList: The list of previously-created fonts
  • wxPen: Used for drawing lines on a device context
  • wxPenList: The list of previously-created pens
  • wxPalette: Represents a table of indices into RGB values
  • wxRegion: Represents a simple or complex region on a window or device context
  • wxRendererNative: Abstracts high-level drawing primitives

Image and bitmap classes

These classes represent images and bitmap in various formats and ways to access and create them.

Related Overviews: Bitmaps and Icons

  • wxAnimation: Represents an animation
  • wxBitmap: Represents a platform dependent bitmap
  • wxBitmapHandler: Class for loading a saving a wxBitmap in a specific format
  • wxCursor: A small, transparent bitmap representing the cursor
  • wxIcon: A small, transparent bitmap for assigning to frames and drawing on device contexts
  • wxImage: A platform-independent image class
  • wxImageHandler: Class for loading a saving a wxImage in a specific format
  • wxImageList: A list of images, used with some controls
  • wxMask: Represents a mask to be used with a bitmap for transparent drawing
  • wxMemoryDC: A device context for drawing into bitmaps
  • wxPixelData: Class template for direct access to wxBitmap's and wxImage's internal data


An event object contains information about a specific event. Event handlers (usually member functions) have a single, event argument.

Related Overviews: Events and Event Handling

Application and Process Management

Printing Framework

A printing and previewing framework is implemented to make it relatively straightforward to provide document printing facilities.

Related Overviews: Printing Framework Overview

Document/View Framework

wxWidgets supports a document/view framework which provides housekeeping for a document-centric application.

Related Overviews: Document/View Framework

Clipboard and Drag & Drop

Related Overviews: Drag and Drop Overview

Virtual File System

wxWidgets provides a set of classes that implement an extensible virtual file system, used internally by the HTML classes.


wxWidgets provides a set of classes to make use of the native thread capabilities of the various platforms.

Related Overviews: Multithreading Overview

Runtime Type Information (RTTI)

wxWidgets supports runtime manipulation of class information, and dynamic creation of objects given class names.

Related Overviews: Runtime Type Information (RTTI)

See also
RTTI Functions and Macros
  • wxClassInfo: Holds runtime class information
  • wxObject: Root class for classes with runtime information


wxWidgets supports some aspects of debugging an application through classes, functions and macros.

Related Overviews: Debugging

See also
Debugging Functions and Macros


wxWidgets provides several classes and functions for message logging.

Related overview: Logging Overview

See also
Logging Functions and Macros

Data Structures

These are the data structure classes supported by wxWidgets.

  • wxAny: A class for storing arbitrary types that may change at run-time
  • wxCmdLineParser: Command line parser class
  • wxDateSpan: A logical time interval.
  • wxDateTime: A class for date/time manipulations
  • wxLongLong: A portable 64 bit integer type
  • wxObject: The root class for most wxWidgets classes
  • wxPathList: A class to help search multiple paths
  • wxPoint: Representation of a point
  • wxRect: A class representing a rectangle
  • wxRegEx: Regular expression support
  • wxRegion: A class representing a region
  • wxString: A string class
  • wxStringTokenizer: A class for interpreting a string as a list of tokens or words
  • wxRealPoint: Representation of a point using floating point numbers
  • wxSize: Representation of a size
  • wxTimeSpan: A time interval.
  • wxURI: Represents a Uniform Resource Identifier
  • wxVariant: A class for storing arbitrary types that may change at run-time

Text Conversion

These classes define objects for performing conversions between different multibyte and Unicode encodings and wide character strings.

  • wxMBConv: Base class for all converters, defines the API implemented by all the other converter classes.
  • wxMBConvUTF7: Converter for UTF-7
  • wxMBConvUTF8: Converter for UTF-8
  • wxMBConvUTF16: Converter for UTF-16
  • wxMBConvUTF32: Converter for UTF-32
  • wxCSConv: Converter for any system-supported encoding which can be specified by name.

Related Overviews: wxMBConv Overview


These are classes, templates and class macros are used by wxWidgets. Most of these classes provide a subset or almost complete STL API.

Related Overviews: Container Classes

  • wxArray<T>: A type-safe dynamic array implementation (macro based)
  • wxArrayString: An efficient container for storing wxString objects
  • wxHashMap<T>: A type-safe hash map implementation (macro based)
  • wxHashSet<T>: A type-safe hash set implementation(macro based)
  • wxHashTable: A simple hash table implementation (deprecated, use wxHashMap)
  • wxList<T>: A type-safe linked list implementation (macro based)
  • wxVector<T>: Template base vector implementation identical to std::vector

Smart Pointers

wxWidgets provides a few smart pointer class templates.

File Handling

wxWidgets has several small classes to work with disk files and directories.

Related overview: File Classes and Functions

  • wxFileName: Operations with the file name and attributes
  • wxDir: Class for enumerating files/subdirectories.
  • wxDirTraverser: Class used together with wxDir for recursively enumerating the files/subdirectories
  • wxFile: Low-level file input/output class.
  • wxFFile: Another low-level file input/output class.
  • wxTempFile: Class to safely replace an existing file
  • wxTextFile: Class for working with text files as with arrays of lines
  • wxStandardPaths: Paths for standard directories
  • wxPathList: A class to help search multiple paths
  • wxFileSystemWatcher: Class providing notifications of file system changes


wxWidgets has its own set of stream classes as an alternative to the standard stream libraries and to provide enhanced functionality.

Related overview: Stream Classes Overview



XML Based Resource System (XRC)

Resources allow your application to create controls and other user interface elements from specifications stored in an XML format.

Related overview: XML Based Resource System (XRC)


wxWidgets provides its own classes for socket based networking.

Interprocess Communication

wxWidgets provides simple interprocess communications facilities based on Windows DDE, but available on most platforms using TCP.

Related overview: Interprocess Communication




  • wxGLCanvas: Canvas that you can render OpenGL calls to.
  • wxGLContext: Class to ease sharing of OpenGL data resources.