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:
parent
e163773d41
commit
82a16d7e5e
@ -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}}
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user