// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
-// Copyright: (c) Julian Smart and Markus Holzem
-// Licence: wxWindows license
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#include "wx/msw/slider95.h"
#include "wx/msw/private.h"
-#if defined(__WIN95__) && !((defined(__GNUWIN32_OLD__) || defined(__TWIN32__)) && !defined(__CYGWIN10__))
+#if defined(__WIN95__) && !(defined(__GNUWIN32_OLD__) && !defined(__CYGWIN10__))
#include <commctrl.h>
#endif
const wxValidator& validator,
const wxString& name)
{
+ if ( (style & wxBORDER_MASK) == wxBORDER_DEFAULT )
+ style |= wxBORDER_NONE;
+
SetName(name);
#if wxUSE_VALIDATORS
SetValidator(validator);
long msStyle = 0;
long wstyle = 0;
- if ( m_windowStyle & wxCLIP_SIBLINGS )
- msStyle |= WS_CLIPSIBLINGS;
-
if ( m_windowStyle & wxSL_LABELS )
{
- msStyle |= WS_CHILD | WS_VISIBLE | WS_BORDER | SS_CENTER;
+ msStyle |= SS_CENTER;
- bool want3D;
- WXDWORD exStyle = Determine3DEffects(WS_EX_CLIENTEDGE, &want3D) ;
+ WXDWORD exStyle = 0;
+ long valueStyle = m_windowStyle & ~wxBORDER_MASK;
+ valueStyle |= wxBORDER_SUNKEN;
+ msStyle |= MSWGetStyle(valueStyle, & exStyle) ;
m_staticValue = (WXHWND) CreateWindowEx
(
);
// Now create min static control
- wxSprintf(wxBuffer, wxT("%d"), minValue);
+ wxString minLabel;
+ minLabel.Printf(wxT("%d"), minValue);
wstyle = STATIC_FLAGS;
if ( m_windowStyle & wxCLIP_SIBLINGS )
msStyle |= WS_CLIPSIBLINGS;
m_staticMin = (WXHWND) CreateWindowEx
(
- 0, wxT("STATIC"), wxBuffer,
+ 0, wxT("STATIC"), minLabel,
wstyle,
0, 0, 0, 0, (HWND) parent->GetHWND(), (HMENU)NewControlId(),
wxGetInstance(), NULL
);
}
- msStyle = 0;
+ WXDWORD exStyle = 0;
- if ( m_windowStyle & wxCLIP_SIBLINGS )
- msStyle |= WS_CLIPSIBLINGS;
+ msStyle = MSWGetStyle(GetWindowStyle(), & exStyle) ;
if (m_windowStyle & wxSL_VERTICAL)
msStyle = TBS_VERT | WS_CHILD | WS_VISIBLE | WS_TABSTOP ;
HWND scroll_bar = CreateWindowEx
(
- MakeExtendedStyle(m_windowStyle), TRACKBAR_CLASS, wxBuffer,
+ exStyle, TRACKBAR_CLASS, wxEmptyString,
msStyle,
0, 0, 0, 0, (HWND) parent->GetHWND(), (HMENU)m_windowId,
wxGetInstance(), NULL
SubclassWin(GetHWND());
- ::SetWindowText((HWND) m_hWnd, wxT(""));
+ ::SetWindowText((HWND) m_hWnd, wxEmptyString);
SetFont(parent->GetFont());
if ( m_windowStyle & wxSL_LABELS )
{
// Finally, create max value static item
- wxSprintf(wxBuffer, wxT("%d"), maxValue);
+ wxString maxLabel;
+ maxLabel.Printf(wxT("%d"), maxValue);
wstyle = STATIC_FLAGS;
if ( m_windowStyle & wxCLIP_SIBLINGS )
m_staticMax = (WXHWND) CreateWindowEx
(
- 0, wxT("STATIC"), wxBuffer,
+ 0, wxT("STATIC"), maxLabel,
wstyle,
0, 0, 0, 0, (HWND) parent->GetHWND(), (HMENU)NewControlId(),
wxGetInstance(), NULL
break;
case SB_THUMBTRACK:
- case SB_THUMBPOSITION:
scrollEvent = wxEVT_SCROLL_THUMBTRACK;
break;
+ case SB_THUMBPOSITION:
+ scrollEvent = wxEVT_SCROLL_THUMBRELEASE;
+ break;
+
+ case SB_ENDSCROLL:
+ scrollEvent = wxEVT_SCROLL_ENDSCROLL;
+ break;
+
default:
// unknown scroll event?
return FALSE;
if (m_staticValue)
{
- wxSprintf(wxBuffer, wxT("%d"), value);
- ::SetWindowText((HWND) m_staticValue, wxBuffer);
+ wxString str;
+ str.Printf(wxT("%d"), value);
+ ::SetWindowText((HWND) m_staticValue, str);
}
}
WXHBRUSH wxSlider95::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
{
+#ifndef __WXWINCE__
if ( nCtlColor == CTLCOLOR_SCROLLBAR )
return 0;
-
+#else
+ if ( nCtlColor != CTLCOLOR_STATIC )
+ return 0;
+#endif
// Otherwise, it's a static
return wxControl::OnCtlColor(pDC, pWnd, nCtlColor, message, wParam, lParam);
}