From 5a8f04e382a2b5ebeb50e8719889910f813b9d11 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 18 Oct 2001 00:53:35 +0000 Subject: [PATCH] added and documented wxTE_NOHIDESEL git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/text.tex | 3 +++ include/wx/textctrl.h | 4 ++++ src/msw/textctrl.cpp | 20 +++++++++++++------- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/docs/latex/wx/text.tex b/docs/latex/wx/text.tex index 724f33a98c..529a451b79 100644 --- a/docs/latex/wx/text.tex +++ b/docs/latex/wx/text.tex @@ -36,6 +36,9 @@ style is ignored under other platforms.} \twocolitem{\windowstyle{wxTE\_AUTO\_URL}}{Highlight the URLs and generate the wxTextUrlEvents when mouse events occur over them. This style is supported under Win32 only and requires wxTE\_RICH.} +\twocolitem{\windowstyle{wxTE\_NOHIDESEL}}{By default, the Windows text control +doesn't show the selection when it doesn't have focus - use this style to force +it to always show it. It doesn't do anything under other platforms.} \twocolitem{\windowstyle{wxHSCROLL}}{A horizontal scrollbar will be created. No effect under GTK+.} \end{twocollist} diff --git a/include/wx/textctrl.h b/include/wx/textctrl.h index d0b8ad3ff7..fe3046b45c 100644 --- a/include/wx/textctrl.h +++ b/include/wx/textctrl.h @@ -84,6 +84,10 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxEmptyString; // this is for Win32 richedit controls only so far #define wxTE_AUTO_URL 0x1000 +// by default, the Windows text control doesn't show the selection when it +// doesn't have focus - use this style to force it to always show it +#define wxTE_NOHIDESEL 0x2000 + // ---------------------------------------------------------------------------- // wxTextAttr: a structure containing the visual attributes of a text // ---------------------------------------------------------------------------- diff --git a/src/msw/textctrl.cpp b/src/msw/textctrl.cpp index 0de8b105d5..d3b91d242b 100644 --- a/src/msw/textctrl.cpp +++ b/src/msw/textctrl.cpp @@ -200,21 +200,27 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id, msStyle |= WS_VSCROLL; m_windowStyle |= wxTE_PROCESS_ENTER; } - else + else // !multiline + { + // there is really no reason to not have this style for single line + // text controls msStyle |= ES_AUTOHSCROLL; + } - if (m_windowStyle & wxHSCROLL) - msStyle |= (WS_HSCROLL | ES_AUTOHSCROLL); + if ( m_windowStyle & wxHSCROLL ) + msStyle |= WS_HSCROLL | ES_AUTOHSCROLL; - if (m_windowStyle & wxTE_READONLY) + if ( m_windowStyle & wxTE_READONLY ) msStyle |= ES_READONLY; - if (m_windowStyle & wxTE_PASSWORD) // hidden input + if ( m_windowStyle & wxTE_PASSWORD ) msStyle |= ES_PASSWORD; - if (m_windowStyle & wxTE_AUTO_SCROLL) - msStyle |= ES_AUTOHSCROLL; + if ( m_windowStyle & wxTE_AUTO_SCROLL ) + msStyle |= ES_AUTOHSCROLL; + if ( m_windowStyle & wxTE_NOHIDESEL ) + msStyle |= ES_NOHIDESEL; // we always want the characters and the arrows m_lDlgCode = DLGC_WANTCHARS | DLGC_WANTARROWS; -- 2.45.2