#include <wx/scrolwin.h>
#endif
+#if wxUSE_SLIDER
+
#include "wx/slider.h"
#include "wx/os2/private.h"
, int nSizeFlags
)
{
- SWP vSwp;
int nXOffset = nX;
int nYOffset = nY;
int nCx; // slider,min,max sizes
int nCy;
int nCyf;
- char zBuf[300];
+ wxChar zBuf[300];
+ wxFont vFont = this->GetFont();
wxGetCharSize( GetHWND()
,&nCx
,&nCy
- ,&this->GetFont()
+ ,&vFont
);
if ((m_windowStyle & wxSL_VERTICAL) != wxSL_VERTICAL)
int nMinLen = 0;
int nMaxLen = 0;
- ::WinQueryWindowText((HWND)m_hStaticMin, 300, zBuf);
- GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &this->GetFont());
+ ::WinQueryWindowText((HWND)m_hStaticMin, 300, (PSZ)zBuf);
+ GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &vFont);
- ::WinQueryWindowText((HWND)m_hStaticMax, 300, zBuf);
- GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &this->GetFont());
+ ::WinQueryWindowText((HWND)m_hStaticMax, 300, (PSZ)zBuf);
+ GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &vFont);
if (m_hStaticValue)
{
int nMinLen = 0;
int nMaxLen = 0;
- ::WinQueryWindowText((HWND)m_hStaticMin, 300, zBuf);
- GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &this->GetFont());
+ ::WinQueryWindowText((HWND)m_hStaticMin, 300, (PSZ)zBuf);
+ GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &vFont);
- ::WinQueryWindowText((HWND)m_hStaticMax, 300, zBuf);
- GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &this->GetFont());
+ ::WinQueryWindowText((HWND)m_hStaticMax, 300, (PSZ)zBuf);
+ GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &vFont);
if (m_hStaticValue)
{
, const wxPoint& rPos
, const wxSize& rSize
, long lStyle
-#if wxUSE_VALIDATORS
, const wxValidator& rValidator
-#endif
, const wxString& rsName
)
{
//
// Now create min static control
//
- sprintf(wxBuffer, "%d", nMinValue);
+ wxSprintf(wxBuffer, wxT("%d"), nMinValue);
lWstyle = SS_TEXT|DT_LEFT|WS_VISIBLE;
if (m_windowStyle & wxCLIP_SIBLINGS)
lWstyle |= WS_CLIPSIBLINGS;
//
// Finally, create max value static item
//
- sprintf(wxBuffer, "%d", nMaxValue);
+ wxSprintf(wxBuffer, wxT("%d"), nMaxValue);
lWstyle = SS_TEXT|DT_LEFT|WS_VISIBLE;
if (m_windowStyle & wxCLIP_SIBLINGS)
lMsStyle |= WS_CLIPSIBLINGS;
wxColour vColour;
- vColour.Set(wxString("BLACK"));
+ vColour.Set(wxString(wxT("BLACK")));
LONG lColor = (LONG)vColour.GetPixel();
,sizeof(LONG)
,(PVOID)&lColor
);
- vColour.Set(wxString("BLUE"));
+ vColour.Set(wxString(wxT("BLUE")));
lColor = (LONG)vColour.GetPixel();
::WinSetPresParam( m_hWnd
,PP_HILITEBACKGROUNDCOLOR
,(PVOID)&lColor
);
SetValue(nValue);
- return TRUE;
+ return true;
} // end of wxSlider::Create
void wxSlider::DoSetSize(
int nCyf;
int nCurrentX;
int nCurrentY;
- char zBuf[300];
+ wxChar zBuf[300];
+ wxFont vFont = this->GetFont();
//
// Adjust for OS/2's reverse coordinate system
wxGetCharSize( GetHWND()
,&nCx
,&nCy
- ,&this->GetFont()
+ ,&vFont
);
if ((m_windowStyle & wxSL_VERTICAL) != wxSL_VERTICAL)
int nMinLen = 0;
int nMaxLen = 0;
- ::WinQueryWindowText((HWND)m_hStaticMin, 300, zBuf);
- GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &this->GetFont());
- ::WinQueryWindowText((HWND)m_hStaticMax, 300, zBuf);
- GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &this->GetFont());
+ ::WinQueryWindowText((HWND)m_hStaticMin, 300, (PSZ)zBuf);
+ GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &vFont);
+ ::WinQueryWindowText((HWND)m_hStaticMax, 300, (PSZ)zBuf);
+ GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &vFont);
if (m_hStaticValue)
{
::WinSetWindowPos( (HWND)m_hStaticValue
,HWND_TOP
,(LONG)nXOffset
- ,(LONG)nYOffset - (nCyf * 1.2)
+ ,(LONG)nYOffset - (LONG)(nCyf * 1.2)
,(LONG)nNewWidth
,(LONG)nValueHeight
,SWP_ZORDER | SWP_SIZE | SWP_MOVE | SWP_SHOW
::WinSetWindowPos( (HWND)m_hStaticMin
,HWND_TOP
,(LONG)nXOffset
- ,(LONG)nYOffset - (nCyf * 1.2)
+ ,(LONG)nYOffset - (LONG)(nCyf * 1.2)
,(LONG)nMinLen
,(LONG)nCy
,SWP_ZORDER | SWP_SIZE | SWP_MOVE | SWP_SHOW
::WinSetWindowPos( (HWND)m_hStaticMax
,HWND_TOP
,(LONG)nXOffset
- ,(LONG)nYOffset - (nCyf * 1.2)
+ ,(LONG)nYOffset - (LONG)(nCyf * 1.2)
,(LONG)nMaxLen
,(LONG)nCy
,SWP_ZORDER | SWP_SIZE | SWP_MOVE | SWP_SHOW
int nMinLen;
int nMaxLen;
- ::WinQueryWindowText((HWND)m_hStaticMin, 300, zBuf);
- GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &this->GetFont());
- ::WinQueryWindowText((HWND)m_hStaticMax, 300, zBuf);
- GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &this->GetFont());
+ ::WinQueryWindowText((HWND)m_hStaticMin, 300, (PSZ)zBuf);
+ GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &vFont);
+ ::WinQueryWindowText((HWND)m_hStaticMax, 300, (PSZ)zBuf);
+ GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &vFont);
if (m_hStaticValue)
{
int nNewWidth = wxMax(nMinLen, nMaxLen);
wxFindMaxSize( m_hStaticValue
,&vRect
);
- *pnWidth = vRect.xRight - vRect.xLeft;
- *pnHeight = vRect.yBottom - vRect.yTop;
+ if (pnWidth)
+ *pnWidth = vRect.xRight - vRect.xLeft;
+ if (pnHeight)
+ *pnHeight = vRect.yTop - vRect.yBottom;
} // end of wxSlider::GetSize
int wxSlider::GetThumbLength() const
break;
default:
- return FALSE;
+ return false;
}
int nPixelRange = SHORT1FROMMR(::WinSendMsg( GetHwnd()
,(MPARAM)0
)
);
- nNewPos = (nPixelPos/m_dPixelToRange);
+ nNewPos = (int)(nPixelPos/m_dPixelToRange);
if (nNewPos > (m_nRangeMax - m_nRangeMin)/2)
nNewPos++;
if ((nNewPos < GetMin()) || (nNewPos > GetMax()))
//
// Out of range - but we did process it
//
- return TRUE;
+ return true;
}
SetValue(nNewPos);
if (m_hStaticMin)
{
wxSprintf(zBuf, wxT("%d"), m_nRangeMin);
- ::WinSetWindowText((HWND)m_hStaticMin, zBuf);
+ ::WinSetWindowText((HWND)m_hStaticMin, (PSZ)zBuf);
}
if (m_hStaticMax)
{
wxSprintf(zBuf, wxT("%d"), m_nRangeMax);
- ::WinSetWindowText((HWND)m_hStaticMax, zBuf);
+ ::WinSetWindowText((HWND)m_hStaticMax, (PSZ)zBuf);
}
} // end of wxSlider::SetRange
int nTickPos
)
{
- nTickPos *= m_dPixelToRange;
+ nTickPos = (int)(nTickPos * m_dPixelToRange);
::WinSendMsg( GetHwnd()
,SLM_ADDDETENT
,MPFROMSHORT(nTickPos)
::WinSendMsg(GetHwnd(), WM_SETWINDOWPARAMS, (MPARAM)&vWndParams, (MPARAM)0);
for (i = 1; i < (m_nRangeMax - m_nRangeMin)/n; i++)
{
- nPixelPos = i * n * m_dPixelToRange;
+ nPixelPos = (int)(i * n * m_dPixelToRange);
::WinSendMsg( GetHwnd()
,SLM_ADDDETENT
,MPFROMSHORT(nPixelPos)
int nValue
)
{
- int nPixelPos = SHORT1FROMMR(::WinSendMsg( GetHwnd()
- ,SLM_QUERYSLIDERINFO
- ,MPFROM2SHORT( SMA_SLIDERARMPOSITION
- ,SMA_RANGEVALUE
- )
- ,(MPARAM)0
- )
- );
int nPixelRange = SHORT1FROMMR(::WinSendMsg( GetHwnd()
,SLM_QUERYSLIDERINFO
,MPFROM2SHORT( SMA_SHAFTDIMENSIONS
if (m_hStaticValue)
{
wxSprintf(wxBuffer, wxT("%d"), nValue);
- ::WinSetWindowText((HWND)m_hStaticValue, wxBuffer);
+ ::WinSetWindowText((HWND)m_hStaticValue, (PSZ)wxBuffer);
}
} // end of wxSlider::SetValue
::WinShowWindow((HWND)m_hStaticMin, bShow);
if(m_hStaticMax)
::WinShowWindow((HWND)m_hStaticMax, bShow);
- return TRUE;
+ return true;
} // end of wxSlider::Show
+#endif // wxUSE_SLIDER