# wxUSE preprocessor symbols defined by wxWidgets

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 be always tested using #if and not #ifdef.

- Most important wxUSE symbols
- Generic wxUSE preprocessor symbols
- wxUSE preprocessor symbols used only under Unix platforms
- wxUSE preprocessor symbols used only in wxX11 Platform
- wxUSE preprocessor symbols used only in wxGTK port
- wxUSE preprocessor symbols used only in wxMac port
- wxUSE preprocessor symbols used only in wxMotif port
- wxUSE preprocessor symbols used only in Cocoa port
- wxUSE preprocessor symbols used only in OS2 port
- wxUSE preprocessor symbols used only in wxMSW port
- wxUSE preprocessor symbols used only in wxUniversal

## Most important wxUSE 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 wxUSE preprocessor 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 src/common/extended.c file.
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_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 | Use wxDbgHelpDLL class.
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_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_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.

## wxUSE preprocessor symbols used only under Unix platforms

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 preprocessor symbols used only in wxX11 Platform

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

## wxUSE preprocessor symbols used only in wxGTK port

wxUSE_DETECT_SM | Use code to detect X11 session manager.
wxUSE_GTKPRINT | Use GTK+ printing support.
wxUSE_LIBGNOMEPRINT | Use GNOME printing support.
wxUSE_LIBGNOMEVFS | Use GNOME VFS support. Currently has no effect.
wxUSE_LIBHILDON | Use Hildon framework for Nokia 770. Currently has no effect.

## wxUSE preprocessor symbols used only in wxMac port

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.

## wxUSE preprocessor symbols used only in wxMotif port

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

## wxUSE preprocessor symbols used only in Cocoa port

wxUSE_OBJC_UNIQUIFYING | Enable Objective-C class name uniquifying.

## wxUSE preprocessor symbols used only in OS2 port

wxUSE_CONSOLEDEBUG | See src/os2/app.cpp file.
wxUSE_DDE | See src/os2/mimetype.cpp file.
wxUSE_IMAGE_LOADING_IN_MSW | See src/os2/clipbrd.cpp file.
wxUSE_IMAGE_LOADING_IN_OS2 | See src/os2/gdiimage.cpp file.
wxUSE_NET_API | Use NetBios32GetInfo API call.
wxUSE_RESOURCE_LOADING_IN_OS2 | See src/os2/gdiimage.cpp file.

## wxUSE preprocessor symbols used only in wxMSW port

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 | Use to prevent the auto generation, under MSVC, of manifest file needed by windows XP and above.
wxUSE_NORLANDER_HEADERS | Using headers whose author is Anders Norlander.
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_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_UNICODE_MSLU | Use MSLU for Unicode support under Windows 9x systems.
wxUSE_UXTHEME | Enable support for XP themes.
wxUSE_WIN_METAFILES_ALWAYS | Use wxMetaFile even when wxUSE_ENH_METAFILE=1.
wxUSE_WXDIB | Use wxDIB class.
wxUSE_XPM_IN_MSW | See also wxUSE_XPM

## wxUSE preprocessor symbols used only in wxUniversal

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

|  | [ top ]