Sizing fixes according to patch #1523304.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40194 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Neis
2006-07-19 20:52:06 +00:00
parent 60169b7a51
commit 61a028dc4a
2 changed files with 13 additions and 30 deletions

View File

@@ -118,12 +118,8 @@ bool wxSpinButton::Create(
::WinQueryWindowPos(m_hWnd, &vSwp);
SetXComp(vSwp.x);
SetYComp(vSwp.y-5); // compensate for the associated TextControl border
wxFont* pTextFont = new wxFont( 10
,wxMODERN
,wxNORMAL
,wxNORMAL
);
SetFont(*pTextFont);
SetFont(*wxSMALL_FONT);
//
// For OS/2 we want to hide the text portion so we can substitute an
// independent text ctrl in its place.
@@ -144,7 +140,6 @@ bool wxSpinButton::Create(
::WinSetWindowULong(GetHwnd(), QWL_USER, (LONG)this);
fnWndProcSpinCtrl = (WXFARPROC)::WinSubclassWindow(m_hWnd, (PFNWP)wxSpinCtrlWndProc);
#endif
delete pTextFont;
return TRUE;
} // end of wxSpinButton::Create
@@ -159,12 +154,12 @@ wxSpinButton::~wxSpinButton()
wxSize wxSpinButton::DoGetBestSize() const
{
//
// OS/2 PM does not really have system metrics so we'll just set it to
// 26x20 which is the size of the buttons and the borders.
// Also we have no horizontal spin buttons.
// OS/2 PM does not really have system metrics so we'll just set it to
// a square based on its height.
//
wxSize best(26,20);
return best;
RECTL vRect;
::WinQueryWindowRect(GetHwnd(),&vRect);
return wxSize(vRect.yTop,vRect.yTop);
} // end of wxSpinButton::DoGetBestSize
// ----------------------------------------------------------------------------

View File

@@ -171,15 +171,10 @@ bool wxSpinCtrl::Create( wxWindow* pParent,
m_hWndBuddy = m_hWnd; // One in the same for OS/2
if(pParent)
pParent->AddChild((wxSpinButton *)this);
wxFont* pTextFont = new wxFont( 10
,wxMODERN
,wxNORMAL
,wxNORMAL
);
SetFont(*pTextFont);
::WinQueryWindowPos(m_hWnd, &vSwp);
SetXComp(vSwp.x);
SetYComp(vSwp.y);
SetFont(*wxSMALL_FONT);
SetXComp(0);
SetYComp(0);
SetSize( rPos.x
,rPos.y
,rSize.x
@@ -198,7 +193,6 @@ bool wxSpinCtrl::Create( wxWindow* pParent,
::WinSetWindowULong(GetHwnd(), QWL_USER, (LONG)this);
fnWndProcSpinCtrl = (WXFARPROC)::WinSubclassWindow(m_hWnd, (PFNWP)wxSpinCtrlWndProc);
m_svAllSpins.Add(this);
delete pTextFont;
return true;
} // end of wxSpinCtrl::Create
@@ -215,7 +209,7 @@ wxSize wxSpinCtrl::DoGetBestSize() const
,&nHeight
,&vFont
);
nHeight = EDIT_HEIGHT_FROM_CHAR_HEIGHT(nHeight);
nHeight = EDIT_HEIGHT_FROM_CHAR_HEIGHT(nHeight)+4;
if (vSizeBtn.y < nHeight)
{
@@ -232,13 +226,7 @@ void wxSpinCtrl::DoGetPosition(
, int* pnY
) const
{
WXHWND hWnd = GetHWND();
wxConstCast(this, wxSpinCtrl)->m_hWnd = m_hWndBuddy;
wxSpinButton::DoGetPosition( pnX
,pnY
);
wxConstCast(this, wxSpinCtrl)->m_hWnd = hWnd;
wxSpinButton::DoGetPosition( pnX,pnY );
} // end of wxpinCtrl::DoGetPosition
void wxSpinCtrl::DoGetSize(