Unexpectedly remaining
AutoComplete list is annoying.
JIRA issue: CORE-19685
- Add CAutoComplete::
m_bEditHasFocus to watch
focus.
- Update m_bEditHasFocus on
WM_SETFOCUS and
WM_KILLFOCUS messages on
Edit window procedure.
- Don't open AutoComplete list
when m_bEditHasFocus was
FALSE.
The auto-complete window and
the IME candidate window were
conflicting each other.
JIRA issue: CORE-19268
Call HideDropDown method
when processing
IMN_OPENCANDIDATE message.
Avoids spamming
(ntoskrnl\ob\obwait.c:441) Failed to reference the handle with status 0xc0000008
CAutoComplete::FinishCompletion(): Remove two useless 'if (m_pThread || !m_hThread)'
tests: No need to check these after each code instruction...
Reduce failures on sanity check of auto-completion. CORE-9281
- Return E_FAIL rather than E_INVALIDARG in sanity check of CAutoComplete::Init (IAutoComplete::Init).
Implement IAutoComplete to realize input auto completion. CORE-9281, CORE-1419
- The main features of this PR are Auto-Suggest and Auto-Append.
- Auto-Suggest shows a list near the textbox (an EDIT control) when the user has typed partial pathname into the textbox.
- Auto-Append appends complement text into the textbox to complete the pathname with selected status.
- The list of AutoSuggest is a top-level window whose window class is "Auto-Suggest Dropdown". We call it "the drop-down window".
- The drop-down window contains three controls: a listview, a scrollbar and a sizebox.
- The drop-down window watches the input into the textbox. If the textbox changed, then the window updates the list.
- The sizebox control enables the user to resize the drop-down window.