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:
Jamie Gadd 2006-01-08 15:33:30 +00:00
parent 2919a8b5af
commit 1feb5443ff
2 changed files with 22 additions and 0 deletions

View File

@ -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:

View File

@ -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;