]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/textctrl.cpp
respect the encoding of the text style and not only the global control font encoding...
[wxWidgets.git] / src / msw / textctrl.cpp
index ab2e41b7a853d6bbd6440a415ad0d9b915e617ba..5c1fcdeacca07bcc73d241ab1418da89379595ef 100644 (file)
@@ -50,7 +50,7 @@
 #include <windowsx.h>
 
 #include "wx/msw/private.h"
-#include "wx/msw/wrapshl.h"
+#include "wx/msw/winundef.h"
 
 #include <string.h>
 #include <stdlib.h>
@@ -287,16 +287,17 @@ LRESULT APIENTRY _EXPORT wxTextCtrlWndProc(HWND hWnd,
                                            WPARAM wParam,
                                            LPARAM lParam)
 {
-    wxWindow *win = wxFindWinFromHandle((WXHWND)hWnd);
-
     switch ( message )
     {
         case WM_CUT:
         case WM_COPY:
         case WM_PASTE:
-            if( win->HandleClipboardEvent( message ) )
-                return 0;
-            break;
+            {
+                wxWindow *win = wxFindWinFromHandle((WXHWND)hWnd);
+                if( win->HandleClipboardEvent( message ) )
+                    return 0;
+                break;
+            }
     }
     return ::CallWindowProc(CASTWNDPROC gs_wndprocEdit, hWnd, message, wParam, lParam);
 }
@@ -518,9 +519,6 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
     }
 #endif // wxUSE_RICHEDIT
 
-    if ( style & wxTE_FILENAME )
-        wxEnableFileNameAutoComplete(GetHwnd());
-
     gs_wndprocEdit = wxSetWindowProc((HWND)GetHwnd(),
                                      wxTextCtrlWndProc);
 
@@ -1233,7 +1231,8 @@ void wxTextCtrl::SetInsertionPointEnd()
     // if it doesn't actually move the caret anywhere and so the simple fact of
     // doing it results in horrible flicker when appending big amounts of text
     // to the control in a few chunks (see DoAddText() test in the text sample)
-    if ( GetInsertionPoint() == GetLastPosition() )
+    const wxTextPos lastPosition = GetLastPosition();
+    if ( GetInsertionPoint() == lastPosition )
     {
         return;
     }
@@ -1249,7 +1248,7 @@ void wxTextCtrl::SetInsertionPointEnd()
     else // !RichEdit 1.0
 #endif // wxUSE_RICHEDIT
     {
-        pos = GetLastPosition();
+        pos = lastPosition;
     }
 
     SetInsertionPoint(pos);
@@ -1812,7 +1811,7 @@ bool wxTextCtrl::MSWShouldPreProcessMessage(WXMSG* msg)
                     // fall through
 
                 case 0:
-                    if ( vkey == VK_RETURN )
+                    if ( IsMultiLine() && vkey == VK_RETURN )
                         return false;
                     // fall through
                 case 2: