]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/spinctrl.cpp
fix compilation without wxUSE_STREAMS (closes #10900)
[wxWidgets.git] / src / msw / spinctrl.cpp
index 20df40a30e236828bde5e9fd358ff9d04f9f4b49..d7a13374d0a8b3cf121f0b989d3f8633f740bacb 100644 (file)
@@ -175,8 +175,20 @@ LRESULT APIENTRY _EXPORT wxBuddyTextWndProc(HWND hwnd,
             break;
 
         case WM_GETDLGCODE:
-            // we want to get WXK_RETURN in order to generate the event for it
-            return DLGC_WANTALLKEYS;
+            if ( spin->HasFlag(wxTE_PROCESS_ENTER) )
+            {
+                long dlgCode = ::CallWindowProc
+                                 (
+                                    CASTWNDPROC spin->GetBuddyWndProc(),
+                                    hwnd,
+                                    message,
+                                    wParam,
+                                    lParam
+                                 );
+                dlgCode |= DLGC_WANTMESSAGE;
+                return dlgCode;
+            }
+            break;
     }
 
     return ::CallWindowProc(CASTWNDPROC spin->GetBuddyWndProc(),
@@ -323,10 +335,16 @@ bool wxSpinCtrl::Create(wxWindow *parent,
     WXDWORD exStyle = 0;
     WXDWORD msStyle = MSWGetStyle(GetWindowStyle(), & exStyle) ;
 
+    // propagate text alignment style to text ctrl
+    if ( style & wxALIGN_RIGHT )
+        msStyle |= ES_RIGHT;
+    else if ( style & wxALIGN_CENTER )
+        msStyle |= ES_CENTER;
+
     // this control is used for numeric entry so normally using these flags by
     // default shouldn't be a problem, if it is we can always add a style such
     // as wxSP_NON_NUMERIC later
-    msStyle |= ES_RIGHT | ES_NUMBER;
+    msStyle |= ES_NUMBER;
 
     // calculate the sizes: the size given is the total size for both controls
     // and we need to fit them both in the given width (height is the same)
@@ -463,7 +481,7 @@ void wxSpinCtrl::SetValue(const wxString& text)
 void  wxSpinCtrl::SetValue(int val)
 {
     m_blockEvent = true;
-    
+
     wxSpinButton::SetValue(val);
 
     // normally setting the value of the spin button is enough as it updates
@@ -479,7 +497,7 @@ void  wxSpinCtrl::SetValue(int val)
     }
 
     m_oldValue = GetValue();
-    
+
     m_blockEvent = false;
 }