applied patch #1044865 (fixes problem: "On Win2K, the month combobox's dropdown height in the wxCalendar is only about 1 pixel")
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
450a1593ef
commit
d6959d6f9e
@ -504,6 +504,23 @@ void wxChoice::DoSetSize(int x, int y,
|
|||||||
const int hItem = SendMessage(GetHwnd(), CB_GETITEMHEIGHT, 0, 0);
|
const int hItem = SendMessage(GetHwnd(), CB_GETITEMHEIGHT, 0, 0);
|
||||||
height += hItem*(nItems + 1);
|
height += hItem*(nItems + 1);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// We cannot pass wxDefaultCoord as height to wxControl. wxControl uses
|
||||||
|
// wxGetWindowRect() to determine the current height of the combobox,
|
||||||
|
// and then again sets the combobox's height to that value. Unfortunately,
|
||||||
|
// wxGetWindowRect doesn't include the dropdown list's height (at least
|
||||||
|
// on Win2K), so this would result in a combobox with dropdown height of
|
||||||
|
// 1 pixel. We have to determine the default height ourselves and call
|
||||||
|
// wxControl with that value instead.
|
||||||
|
int w, h;
|
||||||
|
RECT r;
|
||||||
|
DoGetSize(&w, &h);
|
||||||
|
if (::SendMessage(GetHwnd(), CB_GETDROPPEDCONTROLRECT, 0, (LPARAM) &r) != 0)
|
||||||
|
{
|
||||||
|
height = h + r.bottom - r.top;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
wxControl::DoSetSize(x, y, width, height, sizeFlags);
|
wxControl::DoSetSize(x, y, width, height, sizeFlags);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user