]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/textctrl.cpp
fixed WM_GETDLGCODE processing to include the bits returned by the DefWindowProc...
[wxWidgets.git] / src / msw / textctrl.cpp
index a5acb508d261aa9ff7b448750d35476c86ad42e4..24af3187f6acecb2ab4f044861cd7f64530cd26a 100644 (file)
@@ -701,8 +701,8 @@ bool wxTextCtrl::EmulateKeyPress(const wxKeyEvent& event)
     size_t lenOld = GetValue().length();
 
     wxUint32 code = event.GetRawKeyCode();
-    ::keybd_event(code, 0, 0 /* key press */, NULL);
-    ::keybd_event(code, 0, KEYEVENTF_KEYUP, NULL);
+    ::keybd_event(code, 0, 0 /* key press */, 0);
+    ::keybd_event(code, 0, KEYEVENTF_KEYUP, 0);
 
     // assume that any alphanumeric key changes the total number of characters
     // in the control - this should work in 99% of cases
@@ -1217,6 +1217,8 @@ void wxTextCtrl::OnChar(wxKeyEvent& event)
 
 long wxTextCtrl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
 {
+    long lRc = wxTextCtrlBase::MSWWindowProc(nMsg, wParam, lParam);
+
     if ( nMsg == WM_GETDLGCODE )
     {
         // we always want the chars and the arrows
@@ -1238,12 +1240,16 @@ long wxTextCtrl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
         if ( HasFlag(wxTE_PROCESS_TAB) )
             lDlgCode |= DLGC_WANTTAB;
 
-        return lDlgCode;
+        lRc |= lDlgCode;
     }
 
-    return wxTextCtrlBase::MSWWindowProc(nMsg, wParam, lParam);
+    return lRc;
 }
 
+// ----------------------------------------------------------------------------
+// text control event processing
+// ----------------------------------------------------------------------------
+
 bool wxTextCtrl::MSWCommand(WXUINT param, WXWORD WXUNUSED(id))
 {
     switch (param)