added (and documented) msw.xp-tab-ok option

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30770 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2004-11-24 21:24:09 +00:00
parent e163773d41
commit 82a16d7e5e
2 changed files with 31 additions and 12 deletions

View File

@ -15,10 +15,16 @@ These options are currently recognised by wxWidgets:
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}
@ -36,6 +42,7 @@ is wxUSE\_SYSTEM\_OPTIONS.
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSystemOptions::wxSystemOptions}\label{wxsystemoptionsctor}
\func{}{wxSystemOptions}{\void}
@ -43,35 +50,42 @@ is wxUSE\_SYSTEM\_OPTIONS.
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}
@ -79,6 +93,7 @@ Returns true if the given option is present. The function is case-insensitive to
\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}}

View File

@ -33,6 +33,7 @@
#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"
@ -243,18 +244,21 @@ bool wxNotebook::Create(wxWindow *parent,
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;
int verComCtl32 = wxApp::GetComCtl32Version();
nonTopTabsOk = verComCtl32 < 470 || verComCtl32 >= 600;
}
if (style & wxNB_LEFT)
style &= ~wxNB_LEFT;
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,