]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/textentry.cpp
Use the wx version of the wxDECLARE_EVENT_TABLE_ENTRY macro
[wxWidgets.git] / src / msw / textentry.cpp
index 672058b8fd306d4db2797f909bff61c4be599869..b52704883d7ca4a009c41b195d4149e323f2b44c 100644 (file)
@@ -55,7 +55,7 @@
 #include "wx/msw/ole/oleutils.h"
 #include <shldisp.h>
 
-#if defined(__MINGW32__) || defined (__WATCOMC__)
+#if defined(__MINGW32__) || defined (__WATCOMC__) || defined(__CYGWIN__)
     // needed for IID_IAutoComplete, IID_IAutoComplete2 and ACO_AUTOSUGGEST
     #include <shlguid.h>
 #endif
@@ -450,8 +450,12 @@ bool wxTextEntry::SetHint(const wxString& hint)
     if ( wxUxThemeEngine::GetIfActive() )
     {
         // notice that this message always works with Unicode strings
+        //
+        // we always use TRUE for wParam to show the hint even when the window
+        // has focus, otherwise there would be no way to show the hint for the
+        // initially focused window
         if ( ::SendMessage(GetEditHwnd(), EM_SETCUEBANNER,
-                             0, (LPARAM)(const wchar_t *)hint.wc_str()) )
+                             TRUE, (LPARAM)(const wchar_t *)hint.wc_str()) )
             return true;
     }
 
@@ -474,4 +478,44 @@ wxString wxTextEntry::GetHint() const
 
 #endif // wxUSE_UXTHEME
 
+// ----------------------------------------------------------------------------
+// margins support
+// ----------------------------------------------------------------------------
+
+bool wxTextEntry::DoSetMargins(const wxPoint& margins)
+{
+#if !defined(__WXWINCE__)
+    bool res = true;
+
+    if ( margins.x != -1 )
+    {
+        // left margin
+        ::SendMessage(GetEditHwnd(), EM_SETMARGINS,
+                      EC_LEFTMARGIN, MAKELONG(margins.x, 0));
+    }
+
+    if ( margins.y != -1 )
+    {
+        res = false;
+    }
+
+    return res;
+#else
+    return false;
+#endif
+}
+
+wxPoint wxTextEntry::DoGetMargins() const
+{
+#if !defined(__WXWINCE__)
+    LRESULT lResult = ::SendMessage(GetEditHwnd(), EM_GETMARGINS,
+                                    0, 0);
+    int left = LOWORD(lResult);
+    int top = -1;
+    return wxPoint(left, top);
+#else
+    return wxPoint(-1, -1);
+#endif
+}
+
 #endif // wxUSE_TEXTCTRL || wxUSE_COMBOBOX