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:
@@ -212,18 +212,23 @@ wxSize wxControl::DoGetBestSize() const
|
|||||||
// wxChoice and others.
|
// wxChoice and others.
|
||||||
wxSize wxControl::GetBestSpinerSize(const bool is_vertical) const
|
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)
|
if (is_vertical)
|
||||||
{
|
bestSize.y *= 2;
|
||||||
// vertical control
|
|
||||||
return wxSize(GetSystemMetrics(SM_CXVSCROLL),
|
|
||||||
2*GetSystemMetrics(SM_CYVSCROLL));
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
bestSize.x *= 2;
|
||||||
// horizontal control
|
|
||||||
return wxSize(2*GetSystemMetrics(SM_CXHSCROLL),
|
return bestSize;
|
||||||
GetSystemMetrics(SM_CYHSCROLL));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static */ wxVisualAttributes
|
/* static */ wxVisualAttributes
|
||||||
|
Reference in New Issue
Block a user