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.
}
+\twocolitem{msw.xp-tab-ok}{(wxMSW under Windows XP or later only) Some versions
+of Windows XP don't render \helpref{wxNotebook}{wxnotebook} controls with tabs
+not on the top of it correctly, so wxWidgets by default always uses
+\texttt{wxTOP} style under XP. If you are sure that this problem will not be
+present on your users machines, set this option to a non zero value to enable
+tabs with non default orientation.}
\twocolitem{mgl.aa-threshold}{(wxMGL only) Set this integer option to point
size below which fonts are not antialiased. Default: 10.
}
-\twocolitem{mgl.aa-threshold}{(wxMGL only) Screen refresh rate in Hz.
+\twocolitem{mgl.screen-refresh}{(wxMGL only) Screen refresh rate in Hz.
Reasonable default is used if not specified.
}
\end{twocollist}
\latexignore{\rtfignore{\wxheading{Members}}}
+
\membersection{wxSystemOptions::wxSystemOptions}\label{wxsystemoptionsctor}
\func{}{wxSystemOptions}{\void}
Default constructor. You don't need to create an instance of wxSystemOptions
since all of its functions are static.
+
\membersection{wxSystemOptions::GetOption}\label{wxsystemoptionsgetoption}
\constfunc{wxString}{GetOption}{\param{const wxString\&}{ name}}
Gets an option. The function is case-insensitive to {\it name}.
+Returns empty string if the option hasn't been set.
+
\wxheading{See also}
\helpref{wxSystemOptions::SetOption}{wxsystemoptionssetoption},\rtfsp
\helpref{wxSystemOptions::GetOptionInt}{wxsystemoptionsgetoptionint},\rtfsp
\helpref{wxSystemOptions::HasOption}{wxsystemoptionshasoption}
+
\membersection{wxSystemOptions::GetOptionInt}\label{wxsystemoptionsgetoptionint}
\constfunc{int}{GetOptionInt}{\param{const wxString\&}{ name}}
Gets an option as an integer. The function is case-insensitive to {\it name}.
+If the option hasn't been set, this function returns $0$.
+
\wxheading{See also}
\helpref{wxSystemOptions::SetOption}{wxsystemoptionssetoption},\rtfsp
\helpref{wxSystemOptions::GetOption}{wxsystemoptionsgetoption},\rtfsp
\helpref{wxSystemOptions::HasOption}{wxsystemoptionshasoption}
+
\membersection{wxSystemOptions::HasOption}\label{wxsystemoptionshasoption}
\constfunc{bool}{HasOption}{\param{const wxString\&}{ name}}
-Returns true if the given option is present. The function is case-insensitive to {\it name}.
+Returns \true if the given option is present. The function is case-insensitive to {\it name}.
\wxheading{See also}
\helpref{wxSystemOptions::GetOption}{wxsystemoptionsgetoption},\rtfsp
\helpref{wxSystemOptions::GetOptionInt}{wxsystemoptionsgetoptionint}
+
\membersection{wxSystemOptions::SetOption}\label{wxsystemoptionssetoption}
\func{void}{SetOption}{\param{const wxString\&}{ name}, \param{const wxString\&}{ value}}
#include "wx/event.h"
#include "wx/control.h"
#include "wx/notebook.h"
+#include "wx/sysopt.h"
#include "wx/app.h"
#include "wx/msw/private.h"
long style,
const wxString& name)
{
- // Does ComCtl32 support non-top tabs?
- int verComCtl32 = wxApp::GetComCtl32Version();
- if ( verComCtl32 < 470 || verComCtl32 >= 600 )
+ // some versions of comctl32.dll 6.0 included with Windows XP don't
+ // support non-top tabs (the control is simply not rendered correctly) but
+ // we can't detect which ones, so be pessimistic by default and disable non
+ // top tabs under XP but allow the user to override this by using a special
+ // system option
+ bool nonTopTabsOk = wxSystemOptions::GetOptionInt(_T("msw.xp-tab-ok")) != 0;
+ if ( !nonTopTabsOk )
{
- if (style & wxNB_BOTTOM)
- style &= ~wxNB_BOTTOM;
-
- if (style & wxNB_LEFT)
- style &= ~wxNB_LEFT;
+ int verComCtl32 = wxApp::GetComCtl32Version();
+ nonTopTabsOk = verComCtl32 < 470 || verComCtl32 >= 600;
+ }
- if (style & wxNB_RIGHT)
- style &= ~wxNB_RIGHT;
+ if ( !nonTopTabsOk )
+ {
+ style &= ~(wxNB_BOTTOM | wxNB_LEFT | wxNB_RIGHT);
}
if ( !CreateControl(parent, id, pos, size, style | wxTAB_TRAVERSAL,