Only draw borders if wxSP_3DBORDER specified, as before
Added IsAppThemedEx which _really_ tells you if the app is themed, and used it in wxRendererNative::GetDefault() git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -310,6 +310,10 @@ public:
|
|||||||
wxUX_THEME_DECLARE(PFNWXUDRAWTHEMEPARENTBACKGROUND, DrawThemeParentBackground)
|
wxUX_THEME_DECLARE(PFNWXUDRAWTHEMEPARENTBACKGROUND, DrawThemeParentBackground)
|
||||||
wxUX_THEME_DECLARE(PFNWXUENABLETHEMING, EnableTheming)
|
wxUX_THEME_DECLARE(PFNWXUENABLETHEMING, EnableTheming)
|
||||||
|
|
||||||
|
// This calls IsAppThemed but also checks the commctrl.dll version
|
||||||
|
// for a more reliable answer.
|
||||||
|
bool IsAppThemedEx() ;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// construcor is private as only Get() can create us and is also trivial as
|
// construcor is private as only Get() can create us and is also trivial as
|
||||||
// everything really happens in Initialize()
|
// everything really happens in Initialize()
|
||||||
|
@@ -428,7 +428,8 @@ int wxSplitterWindow::GetBorderSize() const
|
|||||||
// Draw the sash
|
// Draw the sash
|
||||||
void wxSplitterWindow::DrawSash(wxDC& dc)
|
void wxSplitterWindow::DrawSash(wxDC& dc)
|
||||||
{
|
{
|
||||||
wxRendererNative::Get().DrawSplitterBorder
|
if (HasFlag(wxSP_3DBORDER))
|
||||||
|
wxRendererNative::Get().DrawSplitterBorder
|
||||||
(
|
(
|
||||||
this,
|
this,
|
||||||
dc,
|
dc,
|
||||||
|
@@ -84,7 +84,7 @@ private:
|
|||||||
wxRendererNative& wxRendererNative::GetDefault()
|
wxRendererNative& wxRendererNative::GetDefault()
|
||||||
{
|
{
|
||||||
wxUxThemeEngine *themeEngine = wxUxThemeEngine::Get();
|
wxUxThemeEngine *themeEngine = wxUxThemeEngine::Get();
|
||||||
return themeEngine && themeEngine->IsThemeActive() ? wxRendererXP::Get()
|
return themeEngine && themeEngine->IsAppThemedEx() ? wxRendererXP::Get()
|
||||||
: wxRendererMSW::Get();
|
: wxRendererMSW::Get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -172,5 +172,21 @@ bool wxUxThemeEngine::Initialize()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This calls IsAppThemed but also checks the commctrl.dll version
|
||||||
|
// for a more reliable answer.
|
||||||
|
bool wxUxThemeEngine::IsAppThemedEx()
|
||||||
|
{
|
||||||
|
static bool g_TestedForTheme = FALSE;
|
||||||
|
static bool g_UseTheme = FALSE;
|
||||||
|
if (!g_TestedForTheme)
|
||||||
|
{
|
||||||
|
int commCtrlVersion = wxTheApp->GetComCtl32Version() ;
|
||||||
|
|
||||||
|
g_UseTheme = (commCtrlVersion >= 600);
|
||||||
|
g_TestedForTheme = TRUE;
|
||||||
|
}
|
||||||
|
return IsAppThemed() && g_UseTheme;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // wxUSE_UXTHEME
|
#endif // wxUSE_UXTHEME
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user