]> git.saurik.com Git - wxWidgets.git/commitdiff
Set margins on creation correctly for wxTE_RICH[2] wxTextCtrl in wxMSW.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 20 Jan 2013 02:08:59 +0000 (02:08 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 20 Jan 2013 02:08:59 +0000 (02:08 +0000)
In spite of the MSDN documentation, EC_USEFONTINFO can't be used in lParam
with rich edit controls, so pass it in wParam for them.

Closes #14598.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/textctrl.cpp

index fcdb1ab1110f1daf3d2f83ada7bcaf5bb4aa62ee..ddc7f78b559d81ae2c3e470fd6520f97e0ebe302 100644 (file)
@@ -511,9 +511,23 @@ bool wxTextCtrl::MSWCreateText(const wxString& value,
         // classic mode, i.e. without themes. Also, the margin can be reset to
         // 0 easily by calling SetMargins() explicitly but setting it to the
         // default value is not currently supported.
-        ::SendMessage(GetHwnd(), EM_SETMARGINS,
-                      EC_LEFTMARGIN | EC_RIGHTMARGIN,
-                      MAKELPARAM(EC_USEFONTINFO, EC_USEFONTINFO));
+        //
+        // Finally, notice that EC_USEFONTINFO is used differently for plain
+        // and rich text controls.
+        WPARAM wParam;
+        LPARAM lParam;
+        if ( IsRich() )
+        {
+            wParam = EC_USEFONTINFO;
+            lParam = 0;
+        }
+        else // plain EDIT, EC_USEFONTINFO is used in lParam with them.
+        {
+            wParam = EC_LEFTMARGIN | EC_RIGHTMARGIN;
+            lParam = MAKELPARAM(EC_USEFONTINFO, EC_USEFONTINFO);
+        }
+
+        ::SendMessage(GetHwnd(), EM_SETMARGINS, wParam, lParam);
     }
 #endif // !__WXWINCE__