From: Julian Smart Date: Fri, 1 Aug 2003 14:12:55 +0000 (+0000) Subject: Only draw borders if wxSP_3DBORDER specified, as before X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/3255bce3209598cda0e2eae91132aa0b90da950b 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 --- diff --git a/include/wx/msw/uxtheme.h b/include/wx/msw/uxtheme.h index 2518a03bcf..da91ed7d0e 100644 --- a/include/wx/msw/uxtheme.h +++ b/include/wx/msw/uxtheme.h @@ -310,6 +310,10 @@ public: wxUX_THEME_DECLARE(PFNWXUDRAWTHEMEPARENTBACKGROUND, DrawThemeParentBackground) wxUX_THEME_DECLARE(PFNWXUENABLETHEMING, EnableTheming) + // This calls IsAppThemed but also checks the commctrl.dll version + // for a more reliable answer. + bool IsAppThemedEx() ; + private: // construcor is private as only Get() can create us and is also trivial as // everything really happens in Initialize() diff --git a/src/generic/splitter.cpp b/src/generic/splitter.cpp index e4f0ad4b39..a0e8532498 100644 --- a/src/generic/splitter.cpp +++ b/src/generic/splitter.cpp @@ -428,7 +428,8 @@ int wxSplitterWindow::GetBorderSize() const // Draw the sash void wxSplitterWindow::DrawSash(wxDC& dc) { - wxRendererNative::Get().DrawSplitterBorder + if (HasFlag(wxSP_3DBORDER)) + wxRendererNative::Get().DrawSplitterBorder ( this, dc, diff --git a/src/msw/renderer.cpp b/src/msw/renderer.cpp index 1421f42fb9..0a9dd2ed81 100644 --- a/src/msw/renderer.cpp +++ b/src/msw/renderer.cpp @@ -84,7 +84,7 @@ private: wxRendererNative& wxRendererNative::GetDefault() { wxUxThemeEngine *themeEngine = wxUxThemeEngine::Get(); - return themeEngine && themeEngine->IsThemeActive() ? wxRendererXP::Get() + return themeEngine && themeEngine->IsAppThemedEx() ? wxRendererXP::Get() : wxRendererMSW::Get(); } diff --git a/src/msw/uxtheme.cpp b/src/msw/uxtheme.cpp index dee239cd43..328bb33bf2 100644 --- a/src/msw/uxtheme.cpp +++ b/src/msw/uxtheme.cpp @@ -172,5 +172,21 @@ bool wxUxThemeEngine::Initialize() 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