Fix for the undocumented holes in spiner sizes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28826 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Włodzimierz Skiba 2004-08-18 09:15:49 +00:00
parent c9c4689547
commit b081046a66

View File

@ -212,18 +212,23 @@ wxSize wxControl::DoGetBestSize() const
// wxChoice and others.
wxSize wxControl::GetBestSpinerSize(const bool is_vertical) const
{
// take size according to layout
wxSize bestSize(GetSystemMetrics(is_vertical ? SM_CXVSCROLL : SM_CXHSCROLL),
GetSystemMetrics(is_vertical ? SM_CYVSCROLL : SM_CYHSCROLL));
// correct size as for undocumented MSW variants cases (WinCE and perhaps others)
if (bestSize.x==0)
bestSize.x = bestSize.y;
if (bestSize.y==0)
bestSize.y = bestSize.x;
// double size according to layout
if (is_vertical)
{
// vertical control
return wxSize(GetSystemMetrics(SM_CXVSCROLL),
2*GetSystemMetrics(SM_CYVSCROLL));
}
bestSize.y *= 2;
else
{
// horizontal control
return wxSize(2*GetSystemMetrics(SM_CXHSCROLL),
GetSystemMetrics(SM_CYHSCROLL));
}
bestSize.x *= 2;
return bestSize;
}
/* static */ wxVisualAttributes