X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/68e6eb7d678e41eb3949fc682b7a9329bff2f3ec..4b97af90bf2f010e61ed785cec8029e8e7903bc9:/src/msw/textentry.cpp diff --git a/src/msw/textentry.cpp b/src/msw/textentry.cpp index a204d577f4..b52704883d 100644 --- a/src/msw/textentry.cpp +++ b/src/msw/textentry.cpp @@ -55,7 +55,7 @@ #include "wx/msw/ole/oleutils.h" #include -#if defined(__MINGW32__) || defined (__WATCOMC__) +#if defined(__MINGW32__) || defined (__WATCOMC__) || defined(__CYGWIN__) // needed for IID_IAutoComplete, IID_IAutoComplete2 and ACO_AUTOSUGGEST #include #endif @@ -311,7 +311,7 @@ bool wxTextEntry::AutoCompleteFileNames() static wxDynamicLibrary s_dllShlwapi; if ( s_pfnSHAutoComplete == (SHAutoComplete_t)-1 ) { - if ( !s_dllShlwapi.Load(_T("shlwapi.dll"), wxDL_VERBATIM | wxDL_QUIET) ) + if ( !s_dllShlwapi.Load(wxT("shlwapi.dll"), wxDL_VERBATIM | wxDL_QUIET) ) { s_pfnSHAutoComplete = NULL; } @@ -327,7 +327,7 @@ bool wxTextEntry::AutoCompleteFileNames() HRESULT hr = (*s_pfnSHAutoComplete)(GetEditHwnd(), SHACF_FILESYS_ONLY); if ( FAILED(hr) ) { - wxLogApiError(_T("SHAutoComplete()"), hr); + wxLogApiError(wxT("SHAutoComplete()"), hr); return false; } @@ -363,7 +363,7 @@ bool wxTextEntry::AutoComplete(const wxArrayString& choices) ); if ( FAILED(hr) ) { - wxLogApiError(_T("CoCreateInstance(CLSID_AutoComplete)"), hr); + wxLogApiError(wxT("CoCreateInstance(CLSID_AutoComplete)"), hr); return false; } @@ -374,7 +374,7 @@ bool wxTextEntry::AutoComplete(const wxArrayString& choices) m_enumStrings->Release(); if ( FAILED(hr) ) { - wxLogApiError(_T("IAutoComplete::Init"), hr); + wxLogApiError(wxT("IAutoComplete::Init"), hr); return false; } @@ -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