## Changes from version 1.xx

These are a few of the major differences between versions 1.xx and 2.0.

Removals:

- XView is no longer supported;
- all controls (panel items) no longer have labels attached to them;
- wxForm has been removed;
- wxCanvasDC, wxPanelDC removed (replaced by wxClientDC, wxWindowDC, wxPaintDC which can be used for any window);
- wxMultiText, wxTextWindow, wxText removed and replaced by wxTextCtrl;
- classes no longer divided into generic and platform-specific parts, for efficiency.

Additions and changes:

- class hierarchy changed, and restrictions about subwindow nesting lifted;
- header files reorganized to conform to normal C++ standards;
- classes less dependent on each another, to reduce executable size;
- wxString used instead of char* wherever possible;
- the number of separate but mandatory utilities reduced;
- the event system has been overhauled, with virtual functions and callbacks being replaced with MFC-like event tables;
- new controls, such as wxTreeCtrl, wxListCtrl, wxSpinButton;
- less inconsistency about what events can be handled, so for example mouse clicks or key presses on controls can now be intercepted;
- the status bar is now a separate class, wxStatusBar, and is implemented in generic wxWindows code;
- some renaming of controls for greater consistency;
- wxBitmap has the notion of bitmap handlers to allow for extension to new formats without ifdefing;
- new dialogs: wxPageSetupDialog, wxFileDialog, wxDirDialog, wxMessageDialog, wxSingleChoiceDialog, wxTextEntryDialog;
- GDI objects are reference-counted and are now passed to most functions by reference, making memory management far easier;
- wxSystemSettings class allows querying for various system-wide properties such as dialog font, colours, user interface element sizes, and so on;
- better platform look and feel conformance;
- toolbar functionality now separated out into a family of classes with the same API;
- device contexts are no longer accessed using wxWindow::GetDC - they are created temporarily with the window as an argument;
- events from sliders and scrollbars can be handled more flexibly;
- the handling of window close events has been changed in line with the new event system;
- the concept of validator has been added to allow much easier coding of the relationship between controls and application data;
- the documentation has been revised, with more cross-referencing.

Platform-specific changes:

- The Windows header file (windows.h) is no longer included by wxWindows headers;
- wx.dll supported under Visual C++;
- the full range of Windows 95 window decorations are supported, such as modal frame borders;
- MDI classes brought out of wxFrame into separate classes, and made more flexible.