Return correct values for GetFieldRect() when using themes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
2919a8b5af
commit
1feb5443ff
@ -68,6 +68,7 @@ wxMSW:
|
||||
- New TARGET_CPU=amd64 (or 'ia64') option for the makefile.vc files which
|
||||
puts 64-bit builds in their own directory and adds /machine:amd64 or ia64
|
||||
to the link command.
|
||||
- wxStatusBar::GetFieldRect now returns correct values under XP.
|
||||
|
||||
wxGTK:
|
||||
|
||||
|
@ -35,6 +35,10 @@
|
||||
// include <commctrl.h> "properly"
|
||||
#include "wx/msw/wrapcctl.h"
|
||||
|
||||
#if wxUSE_UXTHEME
|
||||
#include "wx/msw/uxtheme.h"
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// macros
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -267,6 +271,23 @@ bool wxStatusBar95::GetFieldRect(int i, wxRect& rect) const
|
||||
wxLogLastError(wxT("SendMessage(SB_GETRECT)"));
|
||||
}
|
||||
|
||||
#if wxUSE_UXTHEME
|
||||
wxUxThemeHandle theme((wxStatusBar95 *)this, L"Status"); // const_cast
|
||||
if ( theme )
|
||||
{
|
||||
// by default Windows has a 2 pixel border to the right of the left
|
||||
// divider (or it could be a bug) but it looks wrong so remove it
|
||||
if ( i != 0 )
|
||||
{
|
||||
r.left -= 2;
|
||||
}
|
||||
|
||||
wxUxThemeEngine::Get()->GetThemeBackgroundContentRect(theme, NULL,
|
||||
1 /* SP_PANE */, 0,
|
||||
&r, &r);
|
||||
}
|
||||
#endif
|
||||
|
||||
wxCopyRECTToRect(r, rect);
|
||||
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user