33 #define CX_LIST 30160 // width of m_hwndList (very wide but alright) 34 #define CY_LIST 288 // maximum height of drop-down window 35 #define CY_ITEM 18 // default height of listview item 36 #define MAX_ITEM_COUNT 1000 // the maximum number of items 37 #define WATCH_TIMER_ID 0xFEEDBEEF // timer ID to watch m_rcEdit 38 #define WATCH_INTERVAL 300 // in milliseconds 51 {
L"http://www.", 11 },
132 return s1.CompareNoCase(
s2);
183 if (
list.GetSize() <= 1)
223 const RANGE *
a = reinterpret_cast<const RANGE *>(
x);
224 const RANGE *
b = reinterpret_cast<const RANGE *>(
y);
236 static const RANGE s_ranges[] =
238 { 0x0009, 0x0009 }, { 0x0020, 0x002f }, { 0x003a, 0x0040 }, { 0x005b, 0x0060 },
239 { 0x007b, 0x007e }, { 0x00ab, 0x00ab }, { 0x00ad, 0x00ad }, { 0x00bb, 0x00bb },
240 { 0x02c7, 0x02c7 }, { 0x02c9, 0x02c9 }, { 0x055d, 0x055d }, { 0x060c, 0x060c },
241 { 0x2002, 0x200b }, { 0x2013, 0x2014 }, { 0x2016, 0x2016 }, { 0x2018, 0x2018 },
242 { 0x201c, 0x201d }, { 0x2022, 0x2022 }, { 0x2025, 0x2027 }, { 0x2039, 0x203a },
243 { 0x2045, 0x2046 }, { 0x207d, 0x207e }, { 0x208d, 0x208e }, { 0x226a, 0x226b },
244 { 0x2574, 0x2574 }, { 0x3001, 0x3003 }, { 0x3005, 0x3005 }, { 0x3008, 0x3011 },
245 { 0x3014, 0x301b }, { 0x301d, 0x301e }, { 0x3041, 0x3041 }, { 0x3043, 0x3043 },
246 { 0x3045, 0x3045 }, { 0x3047, 0x3047 }, { 0x3049, 0x3049 }, { 0x3063, 0x3063 },
247 { 0x3083, 0x3083 }, { 0x3085, 0x3085 }, { 0x3087, 0x3087 }, { 0x308e, 0x308e },
248 { 0x309b, 0x309e }, { 0x30a1, 0x30a1 }, { 0x30a3, 0x30a3 }, { 0x30a5, 0x30a5 },
249 { 0x30a7, 0x30a7 }, { 0x30a9, 0x30a9 }, { 0x30c3, 0x30c3 }, { 0x30e3, 0x30e3 },
250 { 0x30e5, 0x30e5 }, { 0x30e7, 0x30e7 }, { 0x30ee, 0x30ee }, { 0x30f5, 0x30f6 },
251 { 0x30fc, 0x30fe }, { 0xfd3e, 0xfd3f }, { 0xfe30, 0xfe31 }, { 0xfe33, 0xfe44 },
252 { 0xfe4f, 0xfe51 }, { 0xfe59, 0xfe5e }, { 0xff08, 0xff09 }, { 0xff0c, 0xff0c },
253 { 0xff0e, 0xff0e }, { 0xff1c, 0xff1c }, { 0xff1e, 0xff1e }, { 0xff3b, 0xff3b },
254 { 0xff3d, 0xff3d }, { 0xff40, 0xff40 }, { 0xff5b, 0xff5e }, { 0xff61, 0xff64 },
255 { 0xff67, 0xff70 }, { 0xff9e, 0xff9f }, { 0xffe9, 0xffe9 }, { 0xffeb, 0xffeb },
344 if (hwndGotFocus !=
m_hwndEdit && hwndGotFocus != m_hWnd)
384 _AtlBaseModule.GetModuleInstance(),
NULL);
388 SetExtendedListViewStyle(exstyle, exstyle);
443 return HitTest(&hittest);
470 TRACE(
"CACListView::OnButtonUp(%p)\n",
this);
478 TRACE(
"CACListView::OnLButtonDown(%p)\n",
this);
495 TRACE(
"CACListView::OnMRButtonDown(%p)\n",
this);
502 TRACE(
"CACListView::OnMouseWheel(%p)\n",
this);
512 TRACE(
"CACListView::OnNCHitTest(%p)\n",
this);
517 if (hwndTarget != m_hWnd)
532 _AtlBaseModule.GetModuleInstance(),
NULL);
546 _AtlBaseModule.GetModuleInstance(),
NULL);
627 for (
INT delta = cxy / 4; delta < cxy; delta += cxy / 4)
655 , m_bDowner(
TRUE), m_dwOptions(ACO_AUTOAPPEND | ACO_AUTOSUGGEST)
657 , m_hwndEdit(
NULL), m_fnOldEditProc(
NULL), m_fnOldWordBreakProc(
NULL)
668 TRACE(
"CAutoComplete::CreateDropDown(%p): m_hWnd=%p, m_hwndEdit=%p\n",
675 TRACE(
"CAutoComplete::~CAutoComplete(%p)\n",
this);
750 return strText.
Left(ich + 1);
802 for (
INT iItem = 0; iItem < cItems; ++iItem)
820 if (
ChrCmpIW(strCommon[ich], strBody[ich]) != 0)
822 strCommon = strCommon.
Left(ich);
842 if (
ChrCmpIW(strCommon[ich], strItem[ich]) != 0)
844 strCommon = strCommon.
Left(ich);
867 reinterpret_cast<WPARAM>(&ich0), reinterpret_cast<LPARAM>(&ich1));
868 if (ich0 <= 0 || ich0 != ich1)
893 BOOL bShowScroll = (cItems > cVisibles);
901 TRACE(
"CAutoComplete::OnEditKeyDown(%p, %p)\n",
this,
wParam);
991 TRACE(
"CACEditCtrl::OnEditChar(%p, %p)\n",
this,
wParam);
1031 else if (iItem == 0)
1040 else if (iItem == cItems - 1)
1051 else if (iItem == 0)
1068 else if (iItem == cItems - 1)
1096 TRACE(
"(%p)->Enable(%d)\n",
this, fEnable);
1103 LPCOLESTR pwszRegKeyPath, LPCOLESTR pwszQuickComplete)
1105 TRACE(
"(%p)->Init(0x%08lx, %p, %s, %s)\n",
1169 TRACE(
"(%p) -> (%p)\n",
this, pdwFlag);
1181 TRACE(
"(%p) -> (0x%x)\n",
this, dwFlag);
1185 FIXME(
" ACO_SEARCH not supported\n");
1187 FIXME(
" ACO_FILTERPREFIXES not supported\n");
1189 FIXME(
" ACO_RTLREADING not supported\n");
1204 *pdwFlags = (
dropped ? ACDD_VISIBLE : 0);
1208 *ppwszString =
NULL;
1221 if (*ppwszString ==
NULL)
1232 FIXME(
"(%p): stub\n",
this);
1246 TRACE(
"(%p, %d, %p, %p)\n",
this, celt, rgelt, pceltFetched);
1251 if (celt != 1 || !rgelt || !pceltFetched || !
m_pEnum)
1266 TRACE(
"(%p, %d)\n",
this, celt);
1273 TRACE(
"(%p)\n",
this);
1282 TRACE(
"(%p, %p)\n",
this, ppOut);
1319 rcScrollBar = rcClient;
1323 rcScrollBar.
top = 0;
1332 rcSizeBox = rcClient;
1364 if (szValue[0] != 0 && cbValue != 0 &&
1442 cy = ((rcMon.
bottom -
y) / cyItem) * cyItem;
1450 cy = ((rcEdit.
top - rcMon.
top) / cyItem) * cyItem;
1473 for (
INT iItem = 0; iItem < innerList.
GetSize(); ++iItem)
1478 const CStringW& strTarget = innerList[iItem];
1481 outerList.
Add(strTarget);
1508 innerList.
Add(pszItem);
1515 TRACE(
"CAutoComplete::StartCompletion(%p, %d)\n",
this, bAppendOK);
1531 TRACE(
"CAutoComplete::OnCreate(%p)\n",
this);
1566 TRACE(
"CAutoComplete::OnNCDestroy(%p)\n",
this);
1593 TRACE(
"CAutoComplete::OnExitSizeMove(%p)\n",
this);
1720 TRACE(
"NM_DBLCLK\n");
1740 TRACE(
"LVN_GETDISPINFOA\n");
1744 LV_DISPINFOA *pDispInfo = reinterpret_cast<LV_DISPINFOA *>(pnmh);
1745 LV_ITEMA *pItem = &pDispInfo->item;
1746 INT iItem = pItem->iItem;
1757 TRACE(
"LVN_GETDISPINFOW\n");
1761 LV_DISPINFOW *pDispInfo = reinterpret_cast<LV_DISPINFOW *>(pnmh);
1762 LV_ITEMW *pItem = &pDispInfo->item;
1763 INT iItem = pItem->iItem;
1774 TRACE(
"LVN_HOTTRACK\n");
1775 LPNMLISTVIEW pListView = reinterpret_cast<LPNMLISTVIEW>(pnmh);
1777 TRACE(
"LVN_HOTTRACK: iItem:%d\n", iItem);
1784 TRACE(
"LVN_ITEMACTIVATE\n");
1787 TRACE(
"LVN_ITEMACTIVATE: iItem:%d\n", iItem);
1797 TRACE(
"LVN_ITEMCHANGED\n");
1798 LPNMLISTVIEW pListView = reinterpret_cast<LPNMLISTVIEW>(pnmh);
1819 TRACE(
"CAutoComplete::OnNCHitTest(%p)\n",
this);
1836 CRect rcList, rcScrollBar, rcSizeBox;
1843 rcScrollBar.
left, rcScrollBar.
top,
1844 rcScrollBar.
Width(), rcScrollBar.
Height(), uSWP_);
1846 rcSizeBox.
left, rcSizeBox.
top,
1943 TRACE(
"CAutoComplete::OnVScroll(%p)\n",
this);
1961 if (iItem >= cItems)
1986 return reinterpret_cast<PAC_THREAD>(
2077 TRACE(
"m_pEnum->Reset(%p): 0x%08lx\n",
2085 TRACE(
"m_pACList->Expand(%p, %S): 0x%08lx\n",
2087 static_cast<LPCWSTR>(strStemText),
hr);
HGDIOBJ WINAPI GetStockObject(_In_ int)
HRGN WINAPI PathToRegion(_In_ HDC)
CACScrollBar m_hwndScrollBar
LRESULT OnMouseActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL IsComboBoxDropped() const
HDWP WINAPI BeginDeferWindowPos(_In_ int)
VOID CalcRects(BOOL bDowner, RECT &rcListView, RECT &rcScrollBar, RECT &rcSizeBox) const
HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF)
LRESULT OnMeasureItem(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL WINAPI GetTextMetricsW(_In_ HDC, _Out_ LPTEXTMETRICW)
#define CB_GETDROPPEDSTATE
VOID WINAPI CoTaskMemFree(LPVOID ptr)
#define SW_SHOWNOACTIVATE
const GUID IID_IEnumString
static int RangeCompare(const void *x, const void *y)
LRESULT OnMouseWheel(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL WINAPI OffsetRect(_Inout_ LPRECT, _In_ int, _In_ int)
BOOL WINAPI IsWindow(_In_opt_ HWND)
#define LVS_NOCOLUMNHEADER
HDC WINAPI GetDC(_In_opt_ HWND)
CSimpleArray< CStringW > list_t
CSimpleArray< CStringW > m_innerList
LRESULT OnNCDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHODIMP GetDropDownStatus(DWORD *pdwFlags, LPWSTR *ppwszString) override
BOOL OnEditKeyDown(WPARAM wParam, LPARAM lParam)
STDMETHODIMP Reset() override
GLuint GLuint GLsizei count
static void quicksort(list_t &list, INT i, INT j)
HWND Create(HWND hwndParent)
BOOL WINAPI EndPath(_In_ HDC)
LRESULT OnNCLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
static LRESULT CALLBACK MouseProc(INT nCode, WPARAM wParam, LPARAM lParam)
int CompareNoCase(_In_z_ PCXSTR psz) const
CStringT Mid(int iFirst, int nCount) const
LRESULT OnNCActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
VOID DoThreadWork(PAC_THREAD pThread)
#define EM_SETWORDBREAKPROC
#define LVS_EX_FULLROWSELECT
static HANDLE ULONG_PTR dwData
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
BOOL WINAPI AdjustWindowRectEx(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL, _In_ DWORD)
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
GLint GLint GLint GLint GLint x
HWND WINAPI SetFocus(_In_opt_ HWND)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
HRESULT WINAPI SHStrDupW(LPCWSTR src, LPWSTR *dest)
#define GetWindowLongPtrW
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
LRESULT OnNCHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
_CRTIMP uintptr_t __cdecl _beginthreadex(_In_opt_ void *_Security, _In_ unsigned _StackSize, _In_ unsigned(__stdcall *_StartAddress)(void *), _In_opt_ void *_ArgList, _In_ unsigned _InitFlag, _Out_opt_ unsigned *_ThrdAddr)
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
VOID StartCompletion(BOOL bAppendOK)
STDMETHODIMP GetOptions(DWORD *pdwFlag) override
DWORD WINAPI GetSysColor(_In_ int)
LRESULT OnEraseBkGnd(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL CanAutoSuggest() const
LRESULT OnNotify(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL CanAutoAppend() const
CSimpleArray< CStringW > m_innerList
VOID SetStatus(BOOL bDowner, BOOL bLongList)
static void DoUniqueAndTrim(list_t &list)
int WINAPI GetClassNameW(_In_ HWND hWnd, _Out_writes_to_(nMaxCount, return) LPWSTR lpClassName, _In_ int nMaxCount)
int WINAPI SetWindowRgn(_In_ HWND, _In_opt_ HRGN, _In_ BOOL)
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
BOOL WINAPI ShowWindowAsync(_In_ HWND, _In_ int)
#define SubclassWindow(hwnd, lpfn)
CComPtr< IACList > m_pACList
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
BOOL WINAPI EndDeferWindowPos(_In_ HDWP)
VOID SetFont(HFONT hFont)
HWND WINAPI GetCapture(void)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
VOID SetEditText(LPCWSTR pszText)
VOID DoAutoAppend(PAC_THREAD pThread)
_Out_opt_ int _Out_opt_ int * cy
LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL FilterPrefixes() const
STDMETHODIMP Init(HWND hwndEdit, IUnknown *punkACL, LPCOLESTR pwszRegKeyPath, LPCOLESTR pwszQuickComplete) override
VOID LoadQuickComplete(LPCWSTR pwszRegKeyPath, LPCWSTR pwszQuickComplete)
STDMETHODIMP Clone(IEnumString **ppOut) override
BOOL OnListUpDown(UINT vk)
LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT WINAPI DefSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
LRESULT OnButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
#define COLOR_HIGHLIGHTTEXT
VOID ReLoadInnerList(PAC_THREAD pThread)
DWORD WINAPI GetCurrentThreadId(VOID)
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
LRESULT EditWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
SHORT WINAPI GetKeyState(_In_ int)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
BOOL WINAPI SetWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIDSubclass, DWORD_PTR dwRef)
STDMETHODIMP ResetEnumerator() override
LRESULT OnDrawItem(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
GLboolean GLboolean GLboolean b
#define InterlockedExchangePointer(Target, Value)
static BOOL DoesMatch(const CStringW &strTarget, const CStringW &strText)
HDWP WINAPI DeferWindowPos(_In_ HDWP, _In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
static unsigned __stdcall AutoCompThreadProc(void *arg)
EDITWORDBREAKPROCW m_fnOldWordBreakProc
LRESULT OnExitSizeMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
VOID SetEditSel(INT ich0, INT ich1)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
int WINAPI GetSystemMetrics(_In_ int)
#define LVS_EX_ONECLICKACTIVATE
VOID AutoCompThreadProc()
unsigned __int3264 UINT_PTR
static PAC_THREAD InterlockedExchangeThreadData(volatile PAC_THREAD *Target, PAC_THREAD Value)
LRESULT OnNCHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnAutoCompFinish(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
LRESULT OnMRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
static LPCWSTR GetWndClassName()
CStringW GetItemText(INT iItem) const
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
VOID SetCurSel(INT iItem)
INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT iLen)
LRESULT OnEditChar(WPARAM wParam, LPARAM lParam)
LRESULT OnNCHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)
VOID RepositionDropDown()
CStringW GetQuickEdit(LPCWSTR pszText) const
BOOL WINAPI UnhookWindowsHookEx(_In_ HHOOK)
static HHOOK s_hMouseHook
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HWND WINAPI GetParent(_In_ HWND)
LRESULT WINAPI CallNextHookEx(_In_opt_ HHOOK, _In_ int, _In_ WPARAM, _In_ LPARAM)
#define WS_EX_NOPARENTNOTIFY
BOOL WINAPI EqualRect(_In_ LPCRECT, _In_ LPCRECT)
BOOL WINAPI RemoveWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uID)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
BOOL WINAPI DeleteDC(_In_ HDC)
VOID SelectItem(INT iItem)
LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
static INT pivot(list_t &list, INT i, INT j)
LRESULT OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
static BOOL DropPrefix(const CStringW &str, CStringW &strBody)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
static const PREFIX_INFO s_prefixes[]
HMONITOR WINAPI MonitorFromWindow(HWND, DWORD)
STDMETHODIMP Enable(BOOL fEnable) override
static void DoSort(list_t &list)
STDMETHODIMP Next(ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched) override
#define LVS_EX_TRACKSELECT
VOID ExtractInnerList(CSimpleArray< CStringW > &outerList, const CSimpleArray< CStringW > &innerList, const CString &strText)
static LRESULT CALLBACK EditSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uSubclassID, DWORD_PTR dwData)
GLint GLint GLint GLint GLint GLint y
LRESULT OnAutoCompStart(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
VOID FinishCompletion(PAC_THREAD pThread)
VOID UpdateDropDownState()
STDMETHODIMP Skip(ULONG celt) override
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static INT CALLBACK EditWordBreakProcW(LPWSTR lpch, INT index, INT count, INT code)
BOOL WINAPI PtInRect(_In_ LPCRECT, _In_ POINT)
LRESULT OnVScroll(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
HWND WINAPI GetFocus(void)
BOOL WINAPI BeginPath(_In_ HDC hdc)
CComPtr< IEnumString > m_pEnum
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
CStringW GetStemText(const CStringW &strText) const
HWND Create(HWND hwndParent)
HWND WINAPI ChildWindowFromPoint(_In_ HWND, _In_ POINT)
LRESULT WINAPI CallWindowProcW(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI IsWindowVisible(_In_ HWND)
static BOOL IsWordBreak(WCHAR ch)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
static int InsertColumn(int nCol, LPCWSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
int ReverseFind(_In_ XCHAR ch) const
STDMETHODIMP SetOptions(DWORD dwFlag) override
CStringW GetEditText() const
GLboolean GLboolean GLboolean GLboolean a
INT ItemFromPoint(INT x, INT y)
CAutoComplete * m_pDropDown
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)
LRESULT OnShowWindow(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
static LPCWSTR GetWndClassName()
CSimpleArray< CStringW > m_outerList
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
LONG WINAPI SHRegGetUSValueW(LPCWSTR pSubKey, LPCWSTR pValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData, BOOL flagIgnoreHKCU, LPVOID pDefaultData, DWORD wDefaultDataSize)
HBRUSH WINAPI GetSysColorBrush(_In_ int)
VOID SelectHere(INT x, INT y)
CStringT Left(int nCount) const
CAutoComplete * m_pDropDown
static INT partition(list_t &list, INT i, INT j, const CStringW &x)
int WINAPI StrCmpIW(LPCWSTR lpszStr, LPCWSTR lpszComp)
#define LVS_OWNERDRAWFIXED
static INT compare1(const CStringW &str1, const CStringW &str2)
BOOL WINAPI ChrCmpIW(WCHAR ch1, WCHAR ch2)
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
static INT DoUnique(list_t &list)
CStringW GetItemText(INT iItem)
CStringW m_strQuickComplete
LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
CSimpleArray< CStringW > m_outerList
INT WINAPI StrCmpNIW(LPCWSTR lpszStr, LPCWSTR lpszComp, INT iLen)