X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1d156af3247c862e51a7c62f569a3fd302052a42..b0ad146aba58fae678c885a9bc5e30d79bffb494:/src/msw/textentry.cpp diff --git a/src/msw/textentry.cpp b/src/msw/textentry.cpp index e993654d24..3577581ce2 100644 --- a/src/msw/textentry.cpp +++ b/src/msw/textentry.cpp @@ -3,7 +3,6 @@ // Purpose: wxTextEntry implementation for wxMSW // Author: Vadim Zeitlin // Created: 2007-09-26 -// RCS-ID: $Id$ // Copyright: (c) 2007 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -34,8 +33,6 @@ #include "wx/textcompleter.h" #include "wx/dynlib.h" -#include - #include "wx/msw/private.h" #if wxUSE_UXTHEME @@ -79,6 +76,11 @@ #define SHACF_FILESYS_DIRS 0x00000020 #endif +// This must be the last header included to only affect the DEFINE_GUID() +// occurrences below but not any GUIDs declared in the standard files included +// above. +#include + namespace { @@ -492,7 +494,7 @@ public: // wxEVT_CHAR handler (as we must also let the other handlers // defined at wx level run first). // - // Notice that we can't use wxEVT_COMMAND_TEXT_UPDATED here + // Notice that we can't use wxEVT_TEXT here // neither as, due to our use of ACO_AUTOAPPEND, we get // EN_CHANGE notifications from the control every time // IAutoComplete auto-appends something to it. @@ -625,7 +627,7 @@ wxTextEntry::~wxTextEntry() void wxTextEntry::WriteText(const wxString& text) { - ::SendMessage(GetEditHwnd(), EM_REPLACESEL, 0, (LPARAM)text.wx_str()); + ::SendMessage(GetEditHwnd(), EM_REPLACESEL, 0, wxMSW_CONV_LPARAM(text)); } wxString wxTextEntry::DoGetValue() const @@ -744,6 +746,8 @@ void wxTextEntry::GetSelection(long *from, long *to) const #ifdef HAS_AUTOCOMPLETE +#if wxUSE_DYNLIB_CLASS + bool wxTextEntry::DoAutoCompleteFileNames(int flags) { typedef HRESULT (WINAPI *SHAutoComplete_t)(HWND, DWORD); @@ -791,6 +795,8 @@ bool wxTextEntry::DoAutoCompleteFileNames(int flags) return true; } +#endif // wxUSE_DYNLIB_CLASS + wxTextAutoCompleteData *wxTextEntry::GetOrCreateCompleter() { if ( !m_autoCompleteData ) @@ -952,9 +958,12 @@ bool wxTextEntry::DoSetMargins(const wxPoint& margins) if ( margins.x != -1 ) { - // left margin + // Set both horizontal margins to the given value, we don't distinguish + // between left and right margin at wx API level and it seems to be + // better to change both of them than only left one. ::SendMessage(GetEditHwnd(), EM_SETMARGINS, - EC_LEFTMARGIN, MAKELONG(margins.x, 0)); + EC_LEFTMARGIN | EC_RIGHTMARGIN, + MAKELONG(margins.x, margins.x)); } if ( margins.y != -1 )