]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/textctrl.cpp
reSWIGged
[wxWidgets.git] / src / msw / textctrl.cpp
index 1b08d80b6d5dea4623a30bbcd48f20f3a39acfb3..ab2e41b7a853d6bbd6440a415ad0d9b915e617ba 100644 (file)
@@ -50,7 +50,7 @@
 #include <windowsx.h>
 
 #include "wx/msw/private.h"
-#include "wx/msw/winundef.h"
+#include "wx/msw/wrapshl.h"
 
 #include <string.h>
 #include <stdlib.h>
@@ -518,6 +518,9 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
     }
 #endif // wxUSE_RICHEDIT
 
+    if ( style & wxTE_FILENAME )
+        wxEnableFileNameAutoComplete(GetHwnd());
+
     gs_wndprocEdit = wxSetWindowProc((HWND)GetHwnd(),
                                      wxTextCtrlWndProc);
 
@@ -1781,18 +1784,17 @@ void wxTextCtrl::OnDropFiles(wxDropFilesEvent& event)
 // kbd input processing
 // ----------------------------------------------------------------------------
 
-bool wxTextCtrl::MSWShouldPreProcessMessage(WXMSG* pMsg)
+bool wxTextCtrl::MSWShouldPreProcessMessage(WXMSG* msg)
 {
-    MSG *msg = (MSG *)pMsg;
-
     // check for our special keys here: if we don't do it and the parent frame
     // uses them as accelerators, they wouldn't work at all, so we disable
     // usual preprocessing for them
     if ( msg->message == WM_KEYDOWN )
     {
-        WORD vkey = (WORD) msg->wParam;
-        if ( (HIWORD(msg->lParam) & KF_ALTDOWN) == KF_ALTDOWN )
+        const WPARAM vkey = msg->wParam;
+        if ( HIWORD(msg->lParam) & KF_ALTDOWN )
         {
+            // Alt-Backspace is accelerator for "Undo"
             if ( vkey == VK_BACK )
                 return false;
         }
@@ -1810,6 +1812,9 @@ bool wxTextCtrl::MSWShouldPreProcessMessage(WXMSG* pMsg)
                     // fall through
 
                 case 0:
+                    if ( vkey == VK_RETURN )
+                        return false;
+                    // fall through
                 case 2:
                     break;
 
@@ -1838,7 +1843,7 @@ bool wxTextCtrl::MSWShouldPreProcessMessage(WXMSG* pMsg)
         }
     }
 
-    return wxControl::MSWShouldPreProcessMessage(pMsg);
+    return wxControl::MSWShouldPreProcessMessage(msg);
 }
 
 void wxTextCtrl::OnChar(wxKeyEvent& event)