Version: 3.1.0
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 will be deprecated in the future).
wxUSE_UNICODE_WCHAR wxString uses wchar_t buffer for internal storage (default under MSW).
wxUSE_UNICODE_UTF8 wxString uses UTF-8 for internal storage (default under Unix and Mac systems).
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.

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_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_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_IOSTREAMH Use header "iostream.h" instead of "iostream".
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_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 related classes.
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_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_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_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_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.

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.
wxUSE_LIBHILDON Use Hildon framework for Nokia 770. 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.

Cocoa Symbols

wxUSE_OBJC_UNIQUIFYING Enable Objective-C class name uniquifying.

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_COMCTL32_SAFELY See src/msw/treectrl.cpp 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_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_PENWINDOWS See src/msw/penwin.cpp file.
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_WXDIB Use wxDIB class.

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