wxSystemOptions stores option/value pairs that wxWidgets itself or applications can use to alter behaviour at run-time. It can be used to optimize behaviour that doesn't deserve a distinct API, but is still important to be able to configure.

These options are currently recognised by wxWidgets.


Option Value
no-maskblt 1 to never use WIN32's MaskBlt function, 0 to allow it to be used where possible. Default: 0. In some circumstances the MaskBlt function can be slower than using the fallback code, especially if using DC cacheing. By default, MaskBlt will be used where it is implemented by the operating system and driver.
msw.remap If 1 (the default), wxToolBar bitmap colours will be remapped to the current theme's values. Set this to 0 to disable this functionality, for example if you're using more than 16 colours in your tool bitmaps.
msw.window.no-clip-children If 1, windows will not automatically get the WS_CLIPCHILDREN style. This restores the way windows are refreshed back to the method used in versions of wxWidgets earlier than 2.5.4, and for some complex window hierarchies it can reduce apparent refresh delays. You may still specify wxCLIP_CHILDREN for individual windows.
msw.notebook.themed-background If set to 0, globally disables themed backgrounds on notebook pages. Note that this won't disable the theme on the actual notebook background (noticeable only if there are no pages).
msw.staticbitmap.htclient If set to 1, allows the static bitmap to respond to mouse events. The default is 0, since a value of 1 can interfere with refresh in static boxes. Note that once set, this option cannot be unset later in the application.


Option Value
mac.window-plain-transition If 1, uses a plainer transition when showing a window. You can also use the symbol wxMAC_WINDOW_PLAIN_TRANSITION.
window-default-variant The default variant used by windows (cast to integer from the wxWindowVariant enum). Also known as wxWINDOW_DEFAULT_VARIANT.


Option Value
mgl.aa-threshold Set this integer option to point size below which fonts are not antialiased. Default: 10.
mgl.screen-refresh Screen refresh rate in Hz. A reasonable default is used if not specified.


Option Value
motif.largebuttons If 1, uses a bigger default size for wxButtons.

The compile-time option to include or exclude this functionality is wxUSE_SYSTEM_OPTIONS.

Derived from


Include files




Default constructor. You don't need to create an instance of wxSystemOptions since all of its functions are static.


wxString GetOption(const wxString& name) const

Gets an option. The function is case-insensitive to name.

Returns empty string if the option hasn't been set.

See also

wxSystemOptions::SetOption, wxSystemOptions::GetOptionInt, wxSystemOptions::HasOption


int GetOptionInt(const wxString& name) const

Gets an option as an integer. The function is case-insensitive to name.

If the option hasn't been set, this function returns $0$.

See also

wxSystemOptions::SetOption, wxSystemOptions::GetOption, wxSystemOptions::HasOption


bool HasOption(const wxString& name) const

Returns TRUEif the given option is present. The function is case-insensitive to name.

See also

wxSystemOptions::SetOption, wxSystemOptions::GetOption, wxSystemOptions::GetOptionInt


bool IsFalse(const wxString& name) const

Returns TRUEif the option with the given name had been set to $0$ value. This is mostly useful for boolean options for which you can't use GetOptionInt(name) == 0 as this would also be true if the option hadn't been set at all.


void SetOption(const wxString& name, const wxString& value)

void SetOption(const wxString& name, int value)

Sets an option. The function is case-insensitive to name.

See also

wxSystemOptions::GetOption, wxSystemOptions::GetOptionInt, wxSystemOptions::HasOption

ymasuda 平成17年11月19日