Fixed drawing glitch with vertical MSW toolbars.

In case of a certain amount of whitespace at the bottom of a vertical toolbar it would not be drawn correctly: the more whitespace the more painting would be clipped starting from the left (covering the whole height of the toolbar) until the toolbar would look completely empty.

This was reproducible using the toolbar sample, setting the toolbar on the left or right edge of the window and then increasing the height of the window sufficiently.

Regression since r62971.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Dimitri Schoolwerth 2011-02-27 15:09:13 +00:00
parent c21a9bda7a
commit 87c7345cd0

View File

@ -1722,10 +1722,18 @@ bool wxToolBar::HandlePaint(WXWPARAM wParam, WXLPARAM lParam)
{
// for some reason TB_GETITEMRECT returns a rectangle 1 pixel
// shorter than the full window size (at least under Windows 7)
// but we need to erase the full height below
// but we need to erase the full width/height below
RECT rcItem = wxGetTBItemRect(GetHwnd(), toolIndex);
rcItem.top = 0;
rcItem.bottom = rectTotal.height;
if ( IsVertical() )
{
rcItem.left = 0;
rcItem.right = rectTotal.width;
}
else
{
rcItem.top = 0;
rcItem.bottom = rectTotal.height;
}
rgnDummySeps.Union(wxRectFromRECT(rcItem));
}