138#define WC_DROPDOWNW L"Auto-Suggest Dropdown"
140#define AUTOCOMP_START (WM_USER + 1)
141#define AUTOCOMP_FINISH (WM_USER + 2)
144 :
public CComCoClass<CAutoComplete, &CLSID_AutoComplete>
145 ,
public CComObjectRootEx<CComMultiThreadModelNoCS>
146 ,
public CWindowImpl<CAutoComplete>
162 HWND CreateDropDown();
163 BOOL CanAutoSuggest()
const;
164 BOOL CanAutoAppend()
const;
166 BOOL IsComboBoxDropped()
const;
167 BOOL FilterPrefixes()
const;
168 INT GetItemCount()
const;
169 CStringW GetItemText(
INT iItem)
const;
171 CStringW GetEditText()
const;
173 CStringW GetStemText(
const CStringW& strText)
const;
182 VOID UpdateScrollBar();
184 VOID StartCompletion(
BOOL bAppendOK);
191 VOID OnListSelChange();
197 LPCOLESTR pwszQuickComplete)
override;
238 VOID UpdateDropDownState();
241 CStringW GetQuickEdit(
LPCWSTR pszText)
const;
242 VOID RepositionDropDown();
246 const CString& strText);
static unsigned __stdcall AutoCompThreadProc(void *arg)
struct AC_THREAD * PAC_THREAD
static LRESULT OnNotify(HWND hWnd, LPARAM lParam)
static VOID OnTimer(IN HWND hwndDlg, IN PSYS_SHUTDOWN_PARAMS pShutdownParams)
LRESULT OnNCHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnMouseWheel(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
INT ItemFromPoint(INT x, INT y)
VOID SelectHere(INT x, INT y)
static LPCWSTR GetWndClassName()
CAutoComplete * m_pDropDown
CStringW GetItemText(INT iItem)
VOID SetFont(HFONT hFont)
LRESULT OnButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnMRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
VOID SetCurSel(INT iItem)
static LPCWSTR GetWndClassName()
CAutoComplete * m_pDropDown
CSimpleArray< CStringW > m_innerList
CStringW m_strQuickComplete
CComPtr< IACList > m_pACList
CSimpleArray< CStringW > m_outerList
EDITWORDBREAKPROCW m_fnOldWordBreakProc
CACScrollBar m_hwndScrollBar
CComPtr< IEnumString > m_pEnum
static VOID OnGetMinMaxInfo(PGUI_CONSOLE_DATA GuiData, PMINMAXINFO minMaxInfo)
static LRESULT CALLBACK EditWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
static VOID OnSize(HWND hDlg, PDETAILDATA pData, INT cx, INT cy)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
#define COM_INTERFACE_ENTRY_IID(iid, x)
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
#define DECLARE_NOT_AGGREGATABLE(x)
#define DECLARE_REGISTRY_RESOURCEID(x)
#define MESSAGE_HANDLER(msg, func)
#define BEGIN_MSG_MAP(theClass)
#define DECLARE_WND_CLASS_EX(WndClassName, style, bkgnd)
static VOID OnVScroll(PMAP infoPtr, INT Value, INT Pos)
static VOID OnPaint(PMAP infoPtr, WPARAM wParam)
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
const GUID IID_IEnumString
void OnMeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct)
CSimpleArray< CStringW > m_outerList
VOID ReLoadInnerList(const CStringW &strText)
CSimpleArray< CStringW > m_innerList
static LRESULT OnDrawItem(HWND hWnd, WPARAM wParam, LPARAM lParam)
int(CALLBACK * EDITWORDBREAKPROCW)(LPWSTR, int, int, int)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)