1. more proper fix for wxChoice/wxComboBox height problems than in 2,2 branch

2. wxIsspace() fix merged from the 2.2 branch


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2001-05-19 01:01:21 +00:00
parent 31827af3ea
commit 18c5099700
5 changed files with 27 additions and 32 deletions

View File

@@ -487,36 +487,6 @@ void wxComboBox::SetSelection(long from, long to)
}
}
void wxComboBox::DoMoveWindow(int x, int y, int width, int height)
{
// here is why this is necessary: if the width is negative, the combobox
// window proc makes the window of the size width*height instead of
// interpreting height in the usual manner (meaning the height of the drop
// down list - usually the height specified in the call to MoveWindow()
// will not change the height of combo box per se)
//
// this behaviour is not documented anywhere, but this is just how it is
// here (NT 4.4) and, anyhow, the check shouldn't hurt - however without
// the check, constraints/sizers using combos may break the height
// constraint will have not at all the same value as expected
if ( width < 0 )
return;
int cx, cy;
wxGetCharSize(GetHWND(), &cx, &cy, &GetFont());
// what should the height of the drop down list be? we choose 10 items by
// default and also 10 items max (if we always use n, the list will never
// have vertical scrollbar)
int n = GetCount();
if ( !n || (n > 10) )
n = 10;
height = (n + 1)* EDIT_HEIGHT_FROM_CHAR_HEIGHT(cy);
wxControl::DoMoveWindow(x, y, width, height);
}
wxSize wxComboBox::DoGetBestSize() const
{
// the choice calculates the horz size correctly, but not the vertical