]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/slider95.cpp
Compilaton fixes.
[wxWidgets.git] / src / msw / slider95.cpp
index 992b61e96e2ba4eeae7782eff23a676518b97dfd..c6d402a15a4544875d24ccdd192a783530599407 100644 (file)
@@ -5,8 +5,8 @@
 // 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__
@@ -33,7 +33,7 @@
 #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
 
@@ -59,6 +59,9 @@ bool wxSlider95::Create(wxWindow *parent, wxWindowID id,
            const wxValidator& validator,
            const wxString& name)
 {
+    if ( (style & wxBORDER_MASK) == wxBORDER_DEFAULT )
+        style |= wxBORDER_NONE;
+
     SetName(name);
 #if wxUSE_VALIDATORS
     SetValidator(validator);
@@ -90,15 +93,14 @@ bool wxSlider95::Create(wxWindow *parent, wxWindowID id,
     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
             (
@@ -109,23 +111,23 @@ bool wxSlider95::Create(wxWindow *parent, wxWindowID id,
             );
 
         // 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 ;
@@ -153,7 +155,7 @@ bool wxSlider95::Create(wxWindow *parent, wxWindowID id,
 
     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
@@ -172,14 +174,15 @@ bool wxSlider95::Create(wxWindow *parent, wxWindowID id,
 
     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 )
@@ -187,7 +190,7 @@ bool wxSlider95::Create(wxWindow *parent, wxWindowID id,
 
         m_staticMax = (WXHWND) CreateWindowEx
             (
-                0, wxT("STATIC"), wxBuffer,
+                0, wxT("STATIC"), maxLabel,
                 wstyle,
                 0, 0, 0, 0, (HWND) parent->GetHWND(), (HMENU)NewControlId(),
                 wxGetInstance(), NULL
@@ -250,10 +253,17 @@ bool wxSlider95::MSWOnScroll(int WXUNUSED(orientation), WXWORD wParam,
             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;
@@ -312,8 +322,9 @@ void wxSlider95::SetValue(int value)
 
     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);
     }
 }
 
@@ -583,9 +594,13 @@ void wxSlider95::SetRange(int minValue, int maxValue)
 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);
 }