Can suppress themed notebook page with wxNB_NOPAGETHEME or

setting system option msw.notebook.themed-background to 0


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31807 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2005-02-06 19:17:35 +00:00
parent 0090a1538c
commit 25057abaac
8 changed files with 125 additions and 10 deletions

View File

@@ -6,11 +6,11 @@
\section{\class{wxArtProvider}}\label{wxartprovider}
wxArtProvider class is used to customize the look of wxWidgets application.
When wxWidgets need to display an icon or a bitmap (e.g. in the standard file
dialog), it does not use hard-coded resource but asks wxArtProvider for it
instead. This way the users can plug in own wxArtProvider class and easily
replace standard art with his/her own version. It is easy thing to do: all
that is needed is to derive a class from wxArtProvider, override it's
When wxWidgets needs to display an icon or a bitmap (e.g. in the standard file
dialog), it does not use a hard-coded resource but asks wxArtProvider for it
instead. This way users can plug in their own wxArtProvider class and easily
replace standard art with their own version. All
that is needed is to derive a class from wxArtProvider, override its
\helpref{CreateBitmap}{wxartprovidercreatebitmap} method and register the
provider with
\helpref{wxArtProvider::PushProvider}{wxartproviderpushprovider}:

View File

@@ -30,8 +30,8 @@ group is formed by a contiguous range of radio items, i.e. it starts at the
first item of this kind and ends with the first item of a different kind (or
the end of the menu). Notice that because the radio groups are defined in terms
of the item positions inserting or removing the items in the menu containing
the radio items risks to not work correctly. Finally note that the radio items
are only supported under Windows and GTK+ currently.
the radio items risks to not work correctly. Finally note that radio items
are not supported under Motif.
\wxheading{Allocation strategy}

View File

@@ -29,6 +29,7 @@ managed by wxNotebook.
\twocolitem{\windowstyle{wxNB\_BOTTOM}}{Place tabs under instead of above the notebook pages.}
\twocolitem{\windowstyle{wxNB\_FIXEDWIDTH}}{(Windows only) All tabs will have same width.}
\twocolitem{\windowstyle{wxNB\_MULTILINE}}{(Windows only) There can be several rows of tabs.}
\twocolitem{\windowstyle{wxNB\_NOPAGETHEME}}{(Windows only) Display a solid colour on notebook pages, and not a gradient, which can reduce performance.}
\end{twocollist}
@@ -39,6 +40,38 @@ See also \helpref{window styles overview}{windowstyles}.
\input noteevt.inc
\wxheading{Page backgrounds}
On Windows XP, the default theme paints a gradient on the notebook's pages.
If you wish to suppress this theme, for aesthetic or performance reasons,
there are three ways of doing it. You can use wxNB\_NOPAGETHEME to disable
themed drawing for a particular notebook, you can call {\tt wxSystemOptions::SetOption}
to disable it for the whole application, or you can disable it for individual
pages by using {\tt SetBackgroundColour}.
To disable themed pages globally:
\begin{verbatim}
wxSystemOptions::SetOption(wxT("msw.notebook.themed-background"), 0);
\end{verbatim}
Set the value to 1 to enable it again.
To give a single page a solid background that more or less fits in with the
overall theme, use:
\begin{verbatim}
wxColour col = notebook->GetThemeBackgroundColour();
if (col.Ok())
{
page->SetBackgroundColour(col);
}
\end{verbatim}
On platforms other than Windows, or if the application is not using Windows
themes, {\tt GetThemeBackgroundColour} will return an uninitialised colour object,
and the above code will therefore work on all platforms.
\wxheading{See also}
\helpref{wxNotebookEvent}{wxnotebookevent}, \helpref{wxImageList}{wximagelist},\rtfsp
@@ -228,6 +261,13 @@ the platform and so\rtfsp
\helpref{wxNotebookEvent::GetSelection}{wxnotebookeventgetselection} should be
used instead in this case.
\membersection{wxNotebook::GetThemeBackgroundColour}\label{wxnotebookgetthemebackgroundcolour}
\constfunc{wxColour}{GetThemeBackgroundColour}{\void}
If running under Windows and themes are enabled for the application, this function
returns a suitable colour for painting the background of a notebook page, and can be passed
to {\tt SetBackgroundColour}. Otherwise, an uninitialised colour will be returned.
\membersection{wxNotebook::HitTest}\label{wxnotebookhittest}