| Version: 3.2.8

wxUSE Preprocessor Symbols

This section documents the wxUSE preprocessor symbols used in the wxWidgets source, grouped by category (and sorted by alphabetical order inside each category).

These symbols are always defined and whether the given feature is active or not depends on their value: if defined as `1`, feature is active, otherwise it is disabled. Because of this these symbols should always be tested using #if and not #ifdef.

# Most Important Symbols

This table summarizes some of the global build features affecting the entire library:

wxUSE_STL | Container classes and wxString are implemented using standard classes and provide the same standard API.
wxUSE_STD_STRING | wxString is implemented using std::[w]string and can be constructed from it (but provides wxWidgets-compatible API, in particular is implicitly convertible to `char*` and not std::[w]string).
wxUSE_STD_IOSTREAM | Standard C++ classes are used instead of or in addition to wx stream classes.
wxUSE_UNICODE | Compiled with Unicode support (default in wxWidgets 3.0, non-Unicode build is deprecated and will be removed in the future).
wxUSE_UNICODE_WCHAR | wxString uses wchar_t buffer for internal storage (default).
wxUSE_UNICODE_UTF8 | wxString uses UTF-8 for internal storage (mostly useful for wxGTK where UTF-8 is used by the underlying toolkit).
wxUSE_UTF8_LOCALE_ONLY | Library supports running only under UTF-8 (and C) locale. This eliminates the code necessary for conversions from the other locales and reduces the library size; useful for embedded systems.
wxUSE_GUI | Use the GUI classes; if set to 0 only non-GUI classes are available.
wxUSE_UNSAFE_WXSTRING_CONV | Defined as 1 by default for compatibility, but can be set to 0 to globally disable unsafe implicit conversions in wxString class. See wxString Related Compilation Settings for more details.

# Generic Symbols

wxUSE_ABOUTDLG | Use wxAboutDialogInfo class.
wxUSE_ACCEL | Use wxAcceleratorTable/Entry classes and support for them in wxMenu, wxMenuBar.
wxUSE_AFM_FOR_POSTSCRIPT | In wxPostScriptDC class use AFM (adobe font metrics) file for character widths.
wxUSE_ACTIVITYINDICATOR | Use wxActivityIndicator class.
wxUSE_ANIMATIONCTRL | Use wxAnimationCtrl class.
wxUSE_ARTPROVIDER_STD | Use standard low quality icons in wxArtProvider.
wxUSE_ARTPROVIDER_TANGO | Use Tango icons in wxArtProvider.
wxUSE_ANY | Use wxAny class.
wxUSE_APPLE_IEEE | IEEE Extended to/from double routines, see wxDataOutputStream.
wxUSE_ARCHIVE_STREAMS | Enable streams for archive formats.
wxUSE_AUI | Use AUI (dockable windows) library.
wxUSE_BASE64 | Enables Base64 support.
wxUSE_BITMAPCOMBOBOX | Use wxBitmapComboBox class.
wxUSE_BMPBUTTON | Use wxBitmapButton class.
wxUSE_BUSYINFO | Use wxBusyInfo class.
wxUSE_BUTTON | Use wxButton class.
wxUSE_CALENDARCTRL | Use wxCalendarCtrl class.
wxUSE_CARET | Use wxCaret class.
wxUSE_CHECKBOX | Use wxCheckBox class.
wxUSE_CHECKLISTBOX | Use wxCheckListBox class.
wxUSE_CHOICE | Use wxChoice class.
wxUSE_CHOICEBOOK | Use wxChoicebook class.
wxUSE_CHOICEDLG | Use wxSingleChoiceDialog, or wxMultiChoiceDialog classes.
wxUSE_CLIPBOARD | Use wxClipboard class.
wxUSE_CMDLINE_PARSER | Use wxCmdLineParser class.
wxUSE_COLLPANE | Use wxCollapsiblePane class.
wxUSE_COLOURDLG | Use wxColourDialog class.
wxUSE_COLOURPICKERCTRL | Use wxColourPickerCtrl class.
wxUSE_COMBOBOX | Use wxComboBox class.
wxUSE_COMBOCTRL | Use wxComboCtrl class.
wxUSE_COMPILER_TLS | Can be set to 0 to prevent using compile thread-specific variables support.
wxUSE_CONFIG | Use wxConfig and related classes.
wxUSE_CONFIG_NATIVE | When enabled use native OS configuration instead of the wxFileConfig class.
wxUSE_CONSOLE_EVENTLOOP | Enable event loop in console programs.
wxUSE_CONSTRAINTS | Use wxLayoutConstraints
wxUSE_CONTROLS | If set to 0, no classes deriving from wxControl can be used.
wxUSE_CREDENTIALDLG | If set to 0, disabled wxCredentialEntryDialog used by wxWebRequest.
wxUSE_DATAOBJ | Use wxDataObject and related classes.
wxUSE_DATAVIEWCTRL | Use wxDataViewCtrl class.
wxUSE_DATEPICKCTRL | Use wxDatePickerCtrl class.
wxUSE_DATETIME | Use wxDateTime and related classes.
wxUSE_DBGHELP | Predefine as 0 to avoid using wxDbgHelpDLL and related classes.
wxUSE_DC_TRANSFORM_MATRIX | Use wxDC::SetTransformMatrix() and related methods.
wxUSE_DEBUG_CONTEXT | Use wxDebugContext class.
wxUSE_DEBUG_NEW_ALWAYS | See Debugging
wxUSE_DEBUGREPORT | Use wxDebugReport class.
wxUSE_DIALUP_MANAGER | Use wxDialUpManager and related classes.
wxUSE_DIRDLG | Use wxDirDialog class.
wxUSE_DIRPICKERCTRL | Use wxDirPickerCtrl class.
wxUSE_DISPLAY | Use wxDisplay and related classes.
wxUSE_DOC_VIEW_ARCHITECTURE | Use wxDocument and related classes.
wxUSE_DRAG_AND_DROP | Use Drag and drop classes.
wxUSE_DRAGIMAGE | Use wxDragImage class.
wxUSE_DYNAMIC_LOADER | Use wxPluginManager and related classes. Requires wxDynamicLibrary
wxUSE_DYNLIB_CLASS | Use wxDynamicLibrary
wxUSE_EDITABLELISTBOX | Use wxEditableListBox class.
wxUSE_EXCEPTIONS | Use exception handling.
wxUSE_EXPAT | enable XML support using expat parser.
wxUSE_EXTENDED_RTTI | Use extended RTTI, see also Runtime class information (RTTI)
wxUSE_FFILE | Use wxFFile class.
wxUSE_FILE | Use wxFile class.
wxUSE_FILECONFIG | Use wxFileConfig class.
wxUSE_FILECTRL | Use wxFileCtrl class.
wxUSE_FILEDLG | Use wxFileDialog class.
wxUSE_FILEPICKERCTRL | Use wxFilePickerCtrl class.
wxUSE_FILESYSTEM | Use wxFileSystem and related classes.
wxUSE_FINDREPLDLG | Use wxFindReplaceDialog class.
wxUSE_FONTDLG | Use wxFontDialog class.
wxUSE_FONTENUM | Use wxFontEnumerator class.
wxUSE_FONTMAP | Use wxFontMapper class.
wxUSE_FONTPICKERCTRL | Use wxFontPickerCtrl class.
wxUSE_FS_ARCHIVE | Use virtual archive filesystems like wxArchiveFSHandler in wxFileSystem class.
wxUSE_FS_INET | Use virtual HTTP/FTP filesystems like wxInternetFSHandler in wxFileSystem class.
wxUSE_FS_ZIP | Please use wxUSE_FS_ARCHIVE instead.
wxUSE_FSVOLUME | Use wxFSVolume class.
wxUSE_GAUGE | Use wxGauge class.
wxUSE_GENERIC_DRAGIMAGE | Used in wxDragImage sample.
wxUSE_GENERIC_DRAWELLIPSE | See comment in wx/dc.h file.
wxUSE_GENERIC_MDI_AS_NATIVE | This is not a user-settable symbol, it is only used internally in wx/generic/mdig.h.
wxUSE_GEOMETRY | Use common geometry classes
wxUSE_GIF | Use GIF wxImageHandler
wxUSE_GLCANVAS | Enables OpenGL support.
wxUSE_GLOBAL_MEMORY_OPERATORS | Override global operators `new` and `delete` to use wxWidgets memory leak detection
wxUSE_GRAPHICS_CONTEXT | Use wxGraphicsContext and related classes.
wxUSE_GRID | Use wxGrid and related classes.
wxUSE_HELP | Use wxHelpController and related classes.
wxUSE_HTML | Use wxHtmlWindow and related classes.
wxUSE_HYPERLINKCTRL | Use wxHyperlinkCtrl
wxUSE_ICO_CUR | Support Windows ICO and CUR formats.
wxUSE_IFF | Enables the wxImage handler for Amiga IFF images.
wxUSE_IMAGE | Use wxImage and related classes.
wxUSE_IMAGLIST | Use wxImageList class.
wxUSE_INTL | Use wxLocale and related classes.
wxUSE_IPC | Use interprocess communication classes.
wxUSE_IPV6 | Use experimental wxIPV6address and related classes.
wxUSE_JOYSTICK | Use wxJoystick class.
wxUSE_LIBJPEG | Enables JPEG format support (requires libjpeg).
wxUSE_LIBLZMA | Enables LZMA compression support (see Using LZMA compression with liblzma).
wxUSE_LIBPNG | Enables PNG format support (requires libpng). Also requires wxUSE_ZLIB.
wxUSE_LIBTIFF | Enables TIFF format support (requires libtiff).
wxUSE_LISTBOOK | Use wxListbook class.
wxUSE_LISTBOX | Use wxListBox class.
wxUSE_LISTCTRL | Use wxListCtrl class.
wxUSE_LOG | Use wxLog and related classes.
wxUSE_LOG_DEBUG | Enabled when wxLog used with __WXDEBUG__ defined.
wxUSE_LOG_DIALOG | Use wxLogDialog class.
wxUSE_LOGGUI | Use wxLogGui class.
wxUSE_LOGWINDOW | Use wxLogFrame class.
wxUSE_LONGLONG | Use wxLongLong class.
wxUSE_LONGLONG_NATIVE | Use native `long long` type in wxLongLong implementation.
wxUSE_LONGLONG_WX | Use generic wxLongLong implementation.
wxUSE_MARKUP | Provide wxControl::SetLabelMarkup() method.
wxUSE_MDI | Use wxMDIParentFrame, and wxMDIChildFrame
wxUSE_MDI_ARCHITECTURE | Use MDI-based document-view classes.
wxUSE_MEDIACTRL | Use wxMediaCtrl.
wxUSE_MEMORY_TRACING | Use wxWidgets memory leak detection, not recommended if using another memory debugging tool.
wxUSE_MENUS | Use wxMenu and wxMenuItem.
wxUSE_MENUBAR | Use wxMenubar.
wxUSE_METAFILE | Use wxMetaFile and related classes.
wxUSE_MIMETYPE | Use wxFileType class.
wxUSE_MINIFRAME | Use wxMiniFrame class.
wxUSE_MOUSEWHEEL | Support mouse wheel events.
wxUSE_MSGDLG | Use wxMessageDialog class and wxMessageBox function.
wxUSE_NANOSVG | Use NanoSVG for rasterizing SVG (this option is new since wxWidgets 3.1.7).
wxUSE_NANOSVG_EXTERNAL | Use an external NanoSVG library when wxUSE_NANOSVG is enabled.
wxUSE_NANOSVG_EXTERNAL_ENABLE_IMPL | When the external NanoSVG library is header only, define this to enable its implementation.
wxUSE_NATIVE_DATAVIEWCTRL | Use native wxDataViewCtrl class (this option is new since wxWidgets 3.1.4).
wxUSE_NATIVE_STATUSBAR | Use native wxStatusBar class.
wxUSE_NOTEBOOK | Use wxNotebook and related classes.
wxUSE_NUMBERDLG | Use wxNumberEntryDialog class.
wxUSE_ODCOMBOBOX | Use wxOwnerDrawnComboBox class.
wxUSE_ON_FATAL_EXCEPTION | Catch signals in wxApp::OnFatalException method.
wxUSE_OPENGL | Please use wxUSE_GLCANVAS to test for enabled OpenGL support instead.
wxUSE_OWNER_DRAWN | Use interface for owner-drawn GUI elements.
wxUSE_PALETTE | Use wxPalette and related classes.
wxUSE_PCX | Enables wxImage PCX handler.
wxUSE_PNM | Enables wxImage PNM handler.
wxUSE_POPUPWIN | Use wxPopupWindow class.
wxUSE_POSTSCRIPT | Use wxPostScriptPrinter class.
wxUSE_PRINTF_POS_PARAMS | Use wxVsnprintf which supports positional parameters.
wxUSE_PRINTING_ARCHITECTURE | Enable printer classes.
wxUSE_PRIVATE_FONTS | Implement wxFont::AddPrivateFont() method.
wxUSE_PROGRESSDLG | Enables progress dialog classes.
wxUSE_PROPGRID | Use wxPropertyGrid library.
wxUSE_PROTOCOL | Use wxProtocol and derived classes.
wxUSE_PROTOCOL_FILE | Use wxFileProto class. (requires wxProtocol)
wxUSE_PROTOCOL_FTP | Use wxFTP class. (requires wxProtocol)
wxUSE_PROTOCOL_HTTP | Use wxHTTP class. (requireswxProtocol)
wxUSE_RADIOBOX | Use wxRadioBox class.
wxUSE_RADIOBTN | Use wxRadioButton class.
wxUSE_REPRODUCIBLE_BUILD | Make library builds reproducible.
wxUSE_REGEX | Use wxRegEx class.
wxUSE_RICHTEXT | Use wxRichTextCtrl class.
wxUSE_RICHTEXT_XML_HANDLER | See src/xrc/xh_richtext.cpp file.
wxUSE_SASH | Use wxSashWindow class.
wxUSE_SCROLLBAR | Use wxScrollBar class.
wxUSE_SEARCHCTRL | Use wxSearchCtrl class.
wxUSE_SELECT_DISPATCHER | Use wxSelectDispatcher class.
wxUSE_SLIDER | Use wxSlider class.
wxUSE_SNGLINST_CHECKER | Use wxSingleInstanceChecker class.
wxUSE_SOCKETS | Enables Network address classes.
wxUSE_SOUND | Use wxSound class.
wxUSE_SPINBTN | Use wxSpinButton class.
wxUSE_SPINCTRL | Use wxSpinCtrl class.
wxUSE_SPLASH | Use wxSplashScreen class.
wxUSE_SPLINES | Provide methods for spline drawing in wxDC.
wxUSE_SPLITTER | Use wxSplitterWindow class.
wxUSE_STACKWALKER | Enables wxStackWalker and related classes.
wxUSE_STARTUP_TIPS | Use startup tips, wxTipProvider class.
wxUSE_STATBMP | Use wxStaticBitmap class.
wxUSE_STATBOX | Use wxStaticBox class.
wxUSE_STATLINE | Use wxStaticLine class.
wxUSE_STATTEXT | Use wxStaticText class.
wxUSE_STATUSBAR | Use wxStatusBar class.
wxUSE_STC | Use wxStyledTextCtrl.
wxUSE_STDPATHS | Use wxStandardPaths class.
wxUSE_STOPWATCH | Use wxStopWatch class.
wxUSE_STREAMS | Enable stream classes.
wxUSE_SVG | Use wxSVGFileDC class.
wxUSE_SYSTEM_OPTIONS | Use wxSystemOptions class.
wxUSE_TAB_DIALOG | Use the obsolete wxTabControl class.
wxUSE_TARSTREAM | Enable Tar files support.
wxUSE_TASKBARICON | Use wxTaskBarIcon class.
wxUSE_TEXTBUFFER | Use wxTextBuffer class.
wxUSE_TEXTCTRL | Use wxTextCtrl class.
wxUSE_TEXTDLG | Use wxTextEntryDialog class.
wxUSE_TEXTFILE | Use wxTextFile class.
wxUSE_TGA | Enable wxImage TGA handler.
wxUSE_THREADS | Use wxThread and related classes.
wxUSE_TIMER | Use wxTimer class.
wxUSE_TIPWINDOW | Use wxTipWindow class.
wxUSE_TOGGLEBTN | Use wxToggleButton class.
wxUSE_TOOLBAR | Use wxToolBar class.
wxUSE_TOOLBAR_NATIVE | Use native wxToolBar class.
wxUSE_TOOLBOOK | Use wxToolbook class.
wxUSE_TOOLTIPS | Use wxToolTip class.
wxUSE_TREEBOOK | Use wxTreebook class.
wxUSE_TREECTRL | Use wxTreeCtrl class.
wxUSE_TREELISTCTRL | Use wxTreeListCtrl class.
wxUSE_TTM_WINDOWFROMPOINT | Obsolete, do not use.
wxUSE_URL | Use wxURL class.
wxUSE_URL_NATIVE | Use native support for some operations with wxURL.
wxUSE_VALIDATORS | Use wxValidator class.
wxUSE_VARIANT | Use wxVariant class.
wxUSE_WEBREQUEST | Use wxWebRequest class.
wxUSE_WEBVIEW | Use wxWebView class.
wxUSE_WIZARDDLG | Use wxWizard class.
wxUSE_WXHTML_HELP | Use wxHtmlHelpController and related classes.
wxUSE_XML | Use XML parsing classes.
wxUSE_XPM | Enable XPM reader for wxImage and wxBitmap classes.
wxUSE_XRC | Use XRC XML-based resource system.
wxUSE_ZIPSTREAM | Enable streams for Zip files.
wxUSE_ZLIB | Use wxZlibInput and wxZlibOutputStream classes, required by wxUSE_LIBPNG.

# Unix Platform Symbols

wxUSE_EPOLL_DISPATCHER | Use wxEpollDispatcher class. See also wxUSE_SELECT_DISPATCHER.
wxUSE_GSTREAMER | Use GStreamer library in wxMediaCtrl.
wxUSE_LIBMSPACK | Use libmspack library.
wxUSE_LIBSDL | Use SDL for wxSound implementation.
wxUSE_PLUGINS | See also wxUSE_LIBSDL.
wxUSE_UNIX | Enabled on Unix Platform.
wxUSE_XTEST | Use XTest extension.

# wxX11 Symbols

wxUSE_NANOX | Use NanoX.
wxUSE_UNIV_TEXTCTRL | Use wxUniv's implementation of wxTextCtrl class.

# wxGTK Symbols

wxUSE_DETECT_SM | Use code to detect X11 session manager.
wxUSE_GTKPRINT | Use GTK+ printing support.
wxUSE_LIBGNOMEVFS | Use GNOME VFS support. Currently has no effect.

# wxMac Symbols

wxUSE_MAC_CRITICAL_REGION_MUTEX | See src/osx/carbon/thread.cpp file.
wxUSE_MAC_PTHREADS_MUTEX | See src/osx/carbon/thread.cpp file.
wxUSE_MAC_SEMAPHORE_MUTEX | See src/osx/carbon/thread.cpp file.
wxUSE_WEBKIT | Use wxWebKitCtrl class.

# wxMotif Symbols

wxUSE_GADGETS | Use xmCascadeButtonGadgetClass, xmLabelGadgetClass, xmPushButtonGadgetClass and xmToggleButtonGadgetClass classes.
wxUSE_INVISIBLE_RESIZE | See src/motif/dialog.cpp file.

# wxMSW Symbols

wxUSE_ACCESSIBILITY | Enable accessibility support
wxUSE_ACTIVEX | Use wxActiveXContainer and related classes.
wxUSE_COMBOCTRL_POPUP_ANIMATION | See wx/msw/combo.h file.
wxUSE_COMMON_DIALOGS | Enable use of windows common dialogs from header commdlg.h; example PRINTDLG.
wxUSE_CRASHREPORT | Use wxCrashReport class.
wxUSE_DATEPICKCTRL_GENERIC | Use generic wxDatePickerCtrl implementation in addition to the native one.
wxUSE_DC_CACHEING | cache temporary wxDC objects.
wxUSE_DDE_FOR_IPC | See wx/ipc.h file.
wxUSE_DPI_AWARE_MANIFEST | Set the DPI awareness of the application (0=none, 1=system, 2=per-monitor). Used by CMake and when wxUSE_RC_MANIFEST is enabled.
wxUSE_ENH_METAFILE | Use wxEnhMetaFile.
wxUSE_HOTKEY | Use wxWindow::RegisterHotKey() and wxWindow::UnregisterHotKey
wxUSE_INKEDIT | Use InkEdit library. Related to Tablet PCs.
wxUSE_MS_HTML_HELP | Use wxCHMHelpController class.
wxUSE_NO_MANIFEST | Can be predefined to disable inclusion of the manifest from wxWidgets RC file. See also wxUSE_RC_MANIFEST.
wxUSE_OLE | Enables OLE helper routines.
wxUSE_OLE_AUTOMATION | Enable OLE automation utilities.
wxUSE_OLE_CLIPBOARD | Use OLE clipboard.
wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW | Use PS printing in wxMSW.
wxUSE_PS_PRINTING | See src/msw/dcprint.cpp file.
wxUSE_RC_MANIFEST | Include manifest for common controls library v6 from wxWidgets RC file. This may be needed to be defined explicitly for MSVC 7 (a.k.a. MSVS 2003) only as later versions of MSVC generate this manifest themselves and the manifest generation is enabled by default for the other compilers. See also wxUSE_NO_MANIFEST.
wxUSE_REGKEY | Use wxRegKey class.
wxUSE_RICHEDIT | Enable use of riched32.dll in wxTextCtrl
wxUSE_RICHEDIT2 | Enable use of riched20.dll in wxTextCtrl
wxUSE_VC_CRTDBG | See wx/msw/msvcrt.h file.
wxUSE_UXTHEME | Enable support for XP themes.
wxUSE_WIN_METAFILES_ALWAYS | Use wxMetaFile even when wxUSE_ENH_METAFILE=1.
wxUSE_WINRT | Enable WinRT support.
wxUSE_WXDIB | Use wxDIB class.
wxUSE_WINSOCK2 | Include `<winsock2.h>` instead of `<winsock.h>`. Turned on automatically if wxUSE_IPV6 is on (this option is new since wxWidgets 3.1.3).

# wxUniversal Symbols

wxUSE_ALL_THEMES | Use all themes in wxUniversal; See wx/univ/theme.h file.
wxUSE_THEME_GTK | Use GTK+ 1-like theme in wxUniversal
wxUSE_THEME_METAL | Use GTK+ 2-like theme in wxUniversal
wxUSE_THEME_MONO | Use simple monochrome theme in wxUniversal
wxUSE_THEME_WIN32 | Use Win32-like theme in wxUniversal