43#define LB_ARRAY_GRANULARITY 16
46#define LB_SCROLL_TIMEOUT 50
52#define LBS_DISPLAYCHANGED 0x80000000
100#define IS_OWNERDRAW(descr) \
101 ((descr)->style & (LBS_OWNERDRAWFIXED | LBS_OWNERDRAWVARIABLE))
103#define HAS_STRINGS(descr) \
104 (!IS_OWNERDRAW(descr) || ((descr)->style & LBS_HASSTRINGS))
107#define IS_MULTISELECT(descr) \
108 ((descr)->style & (LBS_MULTIPLESEL|LBS_EXTENDEDSEL) && \
109 !((descr)->style & LBS_NOSEL))
111#define SEND_NOTIFICATION(descr,code) \
112 (SendMessageW( (descr)->owner, WM_COMMAND, \
113 MAKEWPARAM( GetWindowLongPtrW((descr->self),GWLP_ID), (code)), (LPARAM)(descr->self) ))
115#define ISWIN31 (LOWORD(GetVersion()) == 0x0a03)
150 if (items_size >
descr->items_size ||
164 descr->items_size = items_size;
231 if (!
descr->u.items)
return;
233 if (index < descr->nb_items)
242 if (!
descr->u.items)
return;
244 if (index < descr->nb_items)
257 for (
i =
descr->top_item,
height = 0; i < descr->nb_items;
i++)
261 if (
i ==
descr->top_item)
return 1;
262 else return i -
descr->top_item;
280 if (max < descr->nb_items - 1)
max++;
390 TRACE(
"setting top item %d, scroll %d\n",
index, scroll);
468 if(
descr->item_height != 0)
469 remaining =
descr->height %
descr->item_height;
472 if ((
descr->height >
descr->item_height) && remaining)
474 TRACE(
"[%p]: changing height %d -> %d\n",
525 if (index < descr->top_item)
562 if (!
descr->nb_items)
return -1;
568 while (index < descr->nb_items)
585 if (
y >=
descr->item_height *
descr->page_size)
return -1;
594 if (
index < 0)
return 0;
611 if (index < descr->nb_items)
633 ERR(
"called with an out of bounds index %d(%d) in owner draw, Not good.\n",
index,
descr->nb_items);
658 TRACE(
"[%p]: drawitem %d (%s) action=%02x state=%02x rect=%s\n",
687 TRACE(
"[%p]: painting %d (%s) action=%02x rect=%s\n",
742 descr->style &= ~LBS_NOREDRAW;
751 descr->style &= ~LBS_DISPLAYCHANGED;
769 HBRUSH
hbrush, oldBrush = 0;
806 if (
descr->focus_item == -1)
return;
807 if (!
descr->caret_on || !
descr->in_focus)
return;
830 return descr->items_size;
859 for (
i = 0;
i <
descr->nb_tabs;
i++)
895 WARN(
"got an invalid buffer (Delphi bug?)\n" );
961 return exact ? -1 :
min;
985 if (*
str !=
'[')
res = -1;
986 else if (
p[1] ==
'-')
993 if (
str[1] ==
'-')
res = 1;
1047 if (item_str[0] ==
'[')
1109 RECT focusRect = {-1, -1, -1, -1};
1111 HBRUSH
hbrush, oldBrush = 0;
1118 else if (
descr->horz_pos)
1130 if (!
descr->nb_items && (
descr->focus_item != -1) &&
descr->caret_on &&
1144 for (
i =
descr->top_item; i < descr->nb_items;
i++)
1152 if (
i ==
descr->focus_item)
1177 col_pos =
descr->page_size - 1;
1188 if (focusRect.
top != focusRect.
bottom &&
1230 HRGN cliprgn = region;
1245 r.right - cxEdge,
r.bottom - cyEdge);
1246 if (region != (HRGN)1)
1321 else return descr->item_height;
1371 if (!(diff =
descr->horz_pos -
pos))
return;
1422 TRACE(
"[%p]: new column width = %d\n",
descr->self, column_width);
1427 descr->column_width = column_width;
1444 const char *alphabet =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
1451 ERR(
"unable to get DC.\n" );
1459 descr->avg_char_width = (sz.
cx / 26 + 1) / 2;
1475 TRACE(
"current top item %d, index %d, fully %d\n",
descr->top_item,
index, fully);
1477 if (index <= descr->top_item)
top =
index;
1481 if (!fully) cols +=
descr->column_width - 1;
1482 if (cols >=
descr->column_width) cols /=
descr->column_width;
1484 if (index < descr->top_item + (
descr->page_size * cols))
return;
1495 if (index < descr->top_item +
descr->page_size)
return;
1582 TRACE(
"cur_sel=%d index=%d notify=%s\n",
1643 if (
descr->anchor_item != -1)
1699 TRACE(
"[%p]: measure item %d (%s) = %d\n",
1710 if (
descr->nb_items == 1)
1715 descr->selected_item++;
1720 if (index <= descr->selected_item)
1722 descr->selected_item++;
1723 descr->focus_item = oldfocus;
1757 TRACE(
"[%p]: added item %d %s\n",
1803 if (
descr->nb_items == 1)
1827 descr->selected_item = -1;
1828 else if (index < descr->selected_item)
1830 descr->selected_item--;
1839 if (
descr->focus_item < 0)
descr->focus_item = 0;
1855 descr->nb_items = 0;
1856 descr->top_item = 0;
1857 descr->selected_item = -1;
1858 descr->focus_item = 0;
1859 descr->anchor_item = -1;
1860 descr->items_size = 0;
1881 if (
count < orig_num)
1885 descr->selected_item = -1;
1931 static const WCHAR bracketW[] = {
']',0 };
1936 if (!long_names &&
entry.cAlternateFileName[0])
1944#define ATTRIBS (FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN | \
1945 FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_ARCHIVE)
1951 if (!long_names &&
entry.cAlternateFileName[0])
1960 if (
ret <= maxinsert) maxinsert++;
else maxinsert =
ret;
2081 else if (
descr->horz_extent)
2122 INT pulScrollLines = 3;
2127 if ((delta < 0 && descr->wheel_remain < 0) ||
2128 (delta > 0 &&
descr->wheel_remain > 0))
2129 descr->wheel_remain += delta;
2131 descr->wheel_remain = delta;
2133 if (
descr->wheel_remain && pulScrollLines)
2138 pulScrollLines =
min(
descr->width /
descr->column_width, pulScrollLines);
2139 pulScrollLines =
max(1, pulScrollLines);
2142 cLineScroll *=
descr->page_size;
2146 pulScrollLines =
min(
descr->page_size, pulScrollLines);
2162 TRACE(
"[%p]: lbuttondown %d,%d item %d, focus item %d\n",
2165 if (!
descr->caret_on && (
descr->in_focus))
return 0;
2167 if (!
descr->in_focus)
2173 if (
index == -1)
return 0;
2265 RECT clientRect, screenRect;
2273 if(
PtInRect(&clientRect, mousePos))
2278 descr->lphc->droppedIndex =
descr->nb_items ?
descr->selected_item : -1;
2286 POINT screenMousePos;
2287 HWND hWndOldCapture;
2290 screenMousePos = mousePos;
2296 if(!
PtInRect(&screenRect, screenMousePos))
2311 if (
PtInRect( &clientRect, mousePos ))
2318 if (
PtInRect( &clientRect, mousePos ))
2324 if(nHitTestType != 0)
2327 MAKELONG(screenMousePos.
x, screenMousePos.
y));
2331 if(hWndOldCapture != 0)
2346 if (
descr->captured)
2419 if (!
descr->captured)
return;
2424 else if (
y >=
descr->item_height *
descr->page_size)
2432 else if (
x >=
descr->width)
2466 bForceSelection =
FALSE;
2473 if (caret == -2)
return 0;
2475 if (caret == -1)
switch(
key)
2480 bForceSelection =
FALSE;
2482 caret =
descr->focus_item -
descr->page_size;
2487 caret =
descr->focus_item - 1;
2488 if (caret < 0) caret = 0;
2493 bForceSelection =
FALSE;
2499 caret =
descr->focus_item + 1;
2500 if (caret >=
descr->nb_items) caret =
descr->nb_items - 1;
2511 if (caret < 0) caret = 0;
2521 if (caret >=
descr->nb_items) caret =
descr->nb_items - 1;
2527 caret =
descr->nb_items - 1;
2539 bForceSelection =
FALSE;
2541 if (bForceSelection)
2542 caret =
descr->focus_item;
2548 descr->anchor_item = caret;
2552 descr->selected_item = caret;
2585 if (caret == -2)
return 0;
2620 descr->items_size = 0;
2621 descr->nb_items = 0;
2622 descr->top_item = 0;
2623 descr->selected_item = -1;
2624 descr->focus_item = 0;
2625 descr->anchor_item = -1;
2626 descr->item_height = 1;
2627 descr->page_size = 1;
2628 descr->column_width = 150;
2629 descr->horz_extent = 0;
2630 descr->horz_pos = 0;
2633 descr->wheel_remain = 0;
2634 descr->caret_on = !lphc;
2656 descr->style &= ~LBS_NODATA;
2661 descr->style &= ~LBS_OWNERDRAWVARIABLE;
2678 descr->item_height = mis.itemHeight ? mis.itemHeight : 1;
2759 return descr->nb_items;
2785 return descr->nb_items;
2800 if (
descr->nb_items == 0)
2803 return descr->selected_item;
2804 if (
descr->selected_item != -1)
2805 return descr->selected_item;
2806 return descr->focus_item;
2810 return descr->top_item;
2829 if(
descr->nb_items == 0)
2866 return descr->focus_item;
2943 return descr->horz_extent;
2949 return descr->anchor_item;
2964 return descr->locale;
2986 if (
descr->caret_on)
2989 if ((
descr->focus_item != -1) && (
descr->in_focus))
2994 if (!
descr->caret_on)
2997 if ((
descr->focus_item != -1) && (
descr->in_focus))
3001 case LB_GETLISTBOXINFO:
3002 return descr->page_size;
3044 if (
descr->focus_item != -1)
3051 descr->wheel_remain = 0;
3052 if ((
descr->focus_item != -1) &&
descr->caret_on)
3099 descr->captured = captured;
3170 if( lphc )
return 0;
3182 case WM_THEMECHANGED:
3190 WARN(
"[%p]: unknown msg %04x wp %08lx lp %08lx\n",
3201 memset(&wndClass, 0,
sizeof(wndClass));
3214 static const WCHAR combolboxW[] = {
'C',
'o',
'm',
'b',
'o',
'L',
'B',
'o',
'x',0};
3217 memset(&wndClass, 0,
sizeof(wndClass));
3229void LISTBOX_Unregister(
void)
3234void COMBOLBOX_Unregister(
void)
3236 static const WCHAR combolboxW[] = {
'C',
'o',
'm',
'b',
'o',
'L',
'B',
'o',
'x',0};
static void * heap_realloc(void *mem, size_t len)
static const char * wine_dbgstr_rect(const RECT *prc)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static char selected[MAX_PATH+1]
BOOL COMBO_FlipListbox(LPHEADCOMBO lphc, BOOL ok, BOOL bRedrawButton)
static LRESULT LISTBOX_RemoveItem(LB_DESCR *descr, INT index)
#define SEND_NOTIFICATION(descr, code)
static LRESULT LISTBOX_InsertString(LB_DESCR *descr, INT index, LPCWSTR str)
static void LISTBOX_DrawFocusRect(LB_DESCR *descr, BOOL on)
static void LISTBOX_SetHorizontalPos(LB_DESCR *descr, INT pos)
static LRESULT LISTBOX_HandleKeyDown(LB_DESCR *descr, DWORD key)
static LRESULT LISTBOX_SetCaretIndex(LB_DESCR *descr, INT index, BOOL fully_visible)
static BOOL LISTBOX_SetTabStops(LB_DESCR *descr, INT count, LPINT tabs)
static LRESULT LISTBOX_HandleLButtonUp(LB_DESCR *descr)
static void remove_item_data(LB_DESCR *descr, UINT index)
static void LISTBOX_DeleteItem(LB_DESCR *descr, INT index)
static void LISTBOX_InvalidateItems(LB_DESCR *descr, INT index)
static LRESULT LISTBOX_GetSelCount(const LB_DESCR *descr)
static void LISTBOX_SetRedraw(LB_DESCR *descr, BOOL on)
static void LISTBOX_InvalidateItemRect(LB_DESCR *descr, INT index)
static LRESULT LISTBOX_GetText(LB_DESCR *descr, INT index, LPWSTR buffer, BOOL unicode)
static LRESULT LISTBOX_InitStorage(LB_DESCR *descr, INT nb_items)
static void LISTBOX_MakeItemVisible(LB_DESCR *descr, INT index, BOOL fully)
static INT LISTBOX_FindFileStrPos(LB_DESCR *descr, LPCWSTR str)
static LRESULT LISTBOX_SetSelection(LB_DESCR *descr, INT index, BOOL on, BOOL send_notify)
static LRESULT LISTBOX_HandleLButtonDownCombo(LB_DESCR *descr, UINT msg, DWORD keys, INT x, INT y)
static LRESULT LISTBOX_HandleVScroll(LB_DESCR *descr, WORD scrollReq, WORD pos)
#define IS_MULTISELECT(descr)
static void LISTBOX_ResetContent(LB_DESCR *descr)
static LRESULT LISTBOX_HandleTimer(LB_DESCR *descr, INT index, TIMER_DIRECTION dir)
#define HAS_STRINGS(descr)
static LRESULT LISTBOX_HandleMouseWheel(LB_DESCR *descr, SHORT delta)
static UINT get_item_height(const LB_DESCR *descr, UINT index)
static LRESULT LISTBOX_SetHorizontalExtent(LB_DESCR *descr, INT extent)
static void set_item_height(LB_DESCR *descr, UINT index, UINT height)
static void set_item_selected_state(LB_DESCR *descr, UINT index, BOOL state)
static LRESULT LISTBOX_InsertItem(LB_DESCR *descr, INT index, LPWSTR str, ULONG_PTR data)
static void LISTBOX_MoveCaret(LB_DESCR *descr, INT index, BOOL fully_visible)
static LRESULT LISTBOX_GetSelItems(const LB_DESCR *descr, INT max, LPINT array)
static BOOL is_item_selected(const LB_DESCR *descr, UINT index)
static LRESULT LISTBOX_Paint(LB_DESCR *descr, HDC hdc)
static void LISTBOX_UpdateScroll(LB_DESCR *descr)
static TIMER_DIRECTION LISTBOX_Timer
static LRESULT LISTBOX_SetTopItem(LB_DESCR *descr, INT index, BOOL scroll)
static INT LISTBOX_SetFont(LB_DESCR *descr, HFONT font)
static LRESULT LISTBOX_SetColumnWidth(LB_DESCR *descr, INT column_width)
static LRESULT LISTBOX_HandleHScroll(LB_DESCR *descr, WORD scrollReq, WORD pos)
static ULONG_PTR get_item_data(const LB_DESCR *descr, UINT index)
static LRESULT LISTBOX_SelectItemRange(LB_DESCR *descr, INT first, INT last, BOOL on)
static void set_item_data(LB_DESCR *descr, UINT index, ULONG_PTR data)
void LISTBOX_Register(void)
static void LISTBOX_RepaintItem(LB_DESCR *descr, INT index, UINT action)
static LRESULT LISTBOX_GetItemRect(const LB_DESCR *descr, INT index, RECT *rect)
static void set_item_string(const LB_DESCR *descr, UINT index, WCHAR *string)
static INT LISTBOX_FindString(LB_DESCR *descr, INT start, LPCWSTR str, BOOL exact)
static void insert_item_data(LB_DESCR *descr, UINT index)
static BOOL LISTBOX_Destroy(LB_DESCR *descr)
#define LB_ARRAY_GRANULARITY
static void LISTBOX_NCPaint(LB_DESCR *descr, HRGN region)
void COMBOLBOX_Register(void)
static LRESULT LISTBOX_HandleSystemTimer(LB_DESCR *descr)
static BOOL resize_storage(LB_DESCR *descr, UINT items_size)
static LRESULT LISTBOX_Directory(LB_DESCR *descr, UINT attrib, LPCWSTR filespec, BOOL long_names)
static void LISTBOX_HandleMouseMove(LB_DESCR *descr, INT x, INT y)
static LRESULT LISTBOX_GetItemHeight(const LB_DESCR *descr, INT index)
#define LB_SCROLL_TIMEOUT
static INT LISTBOX_FindStringPos(LB_DESCR *descr, LPCWSTR str, BOOL exact)
static void LISTBOX_PaintItem(LB_DESCR *descr, HDC hdc, const RECT *rect, INT index, UINT action, BOOL ignoreFocus)
#define IS_OWNERDRAW(descr)
static INT LISTBOX_GetItemFromPoint(const LB_DESCR *descr, INT x, INT y)
static INT LISTBOX_lstrcmpiW(LCID lcid, LPCWSTR str1, LPCWSTR str2)
#define LBS_DISPLAYCHANGED
static size_t get_sizeof_item(const LB_DESCR *descr)
static LRESULT LISTBOX_HandleChar(LB_DESCR *descr, WCHAR charW)
static void LISTBOX_UpdatePage(LB_DESCR *descr)
static LRESULT LISTBOX_SetItemHeight(LB_DESCR *descr, INT index, INT height, BOOL repaint)
static void LISTBOX_UpdateSize(LB_DESCR *descr)
static WCHAR * get_item_string(const LB_DESCR *descr, UINT index)
static INT LISTBOX_GetCurrentPageSize(const LB_DESCR *descr)
static LRESULT LISTBOX_SetCount(LB_DESCR *descr, UINT count)
static INT LISTBOX_GetMaxTopIndex(const LB_DESCR *descr)
static LRESULT CALLBACK LISTBOX_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
static BOOL LISTBOX_Create(HWND hwnd, LPHEADCOMBO lphc)
static LRESULT LISTBOX_HandleLButtonDown(LB_DESCR *descr, DWORD keys, INT x, INT y)
#define ERROR_INVALID_PARAMETER
#define INVALID_HANDLE_VALUE
#define HeapFree(x, y, z)
#define __EXCEPT_PAGE_FAULT
UINT WINAPI GetDriveTypeW(IN LPCWSTR lpRootPathName)
HANDLE WINAPI FindFirstFileW(IN LPCWSTR lpFileName, OUT LPWIN32_FIND_DATAW lpFindFileData)
BOOL WINAPI FindClose(HANDLE hFindFile)
BOOL WINAPI FindNextFileW(IN HANDLE hFindFile, OUT LPWIN32_FIND_DATAW lpFindFileData)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
INT WINAPI CompareStringW(LCID lcid, DWORD flags, LPCWSTR str1, INT len1, LPCWSTR str2, INT len2)
BOOL WINAPI IsValidLocale(LCID lcid, DWORD flags)
LCID WINAPI GetUserDefaultLCID(void)
LPWSTR WINAPI CharLowerW(WCHAR *str)
HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const RECT *pClipRect)
BOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME hTheme, int iPartId, int iStateId)
HRESULT WINAPI DrawThemeParentBackground(HWND hwnd, HDC hdc, RECT *prc)
HTHEME WINAPI GetWindowTheme(HWND hwnd)
HRESULT WINAPI CloseThemeData(HTHEME hTheme)
HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR pszClassList)
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei GLsizei height
GLdouble GLdouble GLdouble r
GLdouble GLdouble GLdouble GLdouble top
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
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 * u
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
#define memcpy(s1, s2, n)
#define memmove(s1, s2, n)
#define ERROR_FILE_NOT_FOUND
static const WCHAR textW[]
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static const WCHAR dotW[]
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
INT WINAPI MulDiv(INT nNumber, INT nNumerator, INT nDenominator)
#define FILE_ATTRIBUTE_DIRECTORY
#define LBS_DISABLENOSCROLL
#define LBS_OWNERDRAWFIXED
#define LBS_OWNERDRAWVARIABLE
#define LBS_NOINTEGRALHEIGHT
#define LBS_WANTKEYBOARDINPUT
XML_HIDDEN void xmlParserErrors const char const xmlChar const xmlChar * str2
XML_HIDDEN void xmlParserErrors const char const xmlChar * str1
static const WCHAR empty_stringW[]
static const WCHAR combolboxW[]
#define DRIVE_NO_ROOT_DIR
DWORD WINAPI GetLastError(void)
#define ERROR_INVALID_INDEX
#define ERROR_LB_WITHOUT_TABSTOPS
#define ERROR_NO_MORE_FILES
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int)
BOOL WINAPI SetWindowOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
#define GetTextExtentPoint32
int WINAPI ExcludeClipRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
HGDIOBJ WINAPI GetCurrentObject(_In_ HDC, _In_ UINT)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
int WINAPI CombineRgn(_In_opt_ HRGN hrgnDest, _In_opt_ HRGN hrgnSrc1, _In_opt_ HRGN hrgnSrc2, _In_ int fnCombineMode)
BOOL WINAPI ExtTextOutW(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCWSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
int WINAPI SelectClipRgn(_In_ HDC, _In_opt_ HRGN)
BOOL WINAPI GetTextExtentPointA(_In_ HDC hdc, _In_reads_(c) LPCSTR lpString, _In_ int c, _Out_ LPSIZE lpsz)
#define CSTR_GREATER_THAN
HWND WINAPI SetCapture(_In_ HWND hWnd)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
DWORD WINAPI GetSysColor(_In_ int)
BOOL WINAPI IsWindow(_In_opt_ HWND)
#define LB_FINDSTRINGEXACT
#define GetWindowLongPtrW
HDC WINAPI GetWindowDC(_In_opt_ HWND)
#define LB_SETHORIZONTALEXTENT
BOOL WINAPI ReleaseCapture(void)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define SW_SCROLLCHILDREN
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
HBRUSH WINAPI GetSysColorBrush(_In_ int)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
ATOM WINAPI RegisterClassW(_In_ CONST WNDCLASSW *)
#define LB_GETANCHORINDEX
HDC WINAPI GetDCEx(_In_opt_ HWND, _In_opt_ HRGN, _In_ DWORD)
HWND WINAPI GetCapture(void)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
#define LB_SETCOLUMNWIDTH
BOOL WINAPI ClientToScreen(_In_ HWND, _Inout_ LPPOINT)
#define LB_SELITEMRANGEEX
#define LB_SETANCHORINDEX
BOOL WINAPI PtInRect(_In_ LPCRECT, _In_ POINT)
UINT_PTR WINAPI SetSystemTimer(HWND, UINT_PTR, UINT, TIMERPROC)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI KillSystemTimer(HWND, UINT_PTR)
HWND WINAPI SetFocus(_In_opt_ HWND)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
#define LB_GETHORIZONTALEXTENT
#define SIF_DISABLENOSCROLL
#define COLOR_HIGHLIGHTTEXT
BOOL WINAPI DragDetect(_In_ HWND, _In_ POINT)
BOOL WINAPI SystemParametersInfoW(_In_ UINT uiAction, _In_ UINT uiParam, _Inout_opt_ PVOID pvParam, _In_ UINT fWinIni)
BOOL WINAPI SetRectEmpty(_Out_ LPRECT)
BOOL WINAPI IsWindowEnabled(_In_ HWND)
HWND WINAPI GetParent(_In_ HWND)
BOOL WINAPI OffsetRect(_Inout_ LPRECT, _In_ int, _In_ int)
#define WM_CTLCOLORLISTBOX
int WINAPI SetScrollInfo(_In_ HWND, _In_ int, _In_ LPCSCROLLINFO, _In_ BOOL)
BOOL WINAPI UnregisterClassW(_In_ LPCWSTR, HINSTANCE)
BOOL WINAPI ShowScrollBar(_In_ HWND, _In_ int, _In_ BOOL)
BOOL WINAPI DrawFocusRect(_In_ HDC, _In_ LPCRECT)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
#define SetWindowLongPtrW
BOOL WINAPI GetScrollInfo(_In_ HWND, _In_ int, _Inout_ LPSCROLLINFO)
BOOL WINAPI IsWindowVisible(_In_ HWND)
int WINAPI ScrollWindowEx(_In_ HWND, _In_ int, _In_ int, _In_opt_ LPCRECT, _In_opt_ LPCRECT, _In_opt_ HRGN, _Out_opt_ LPRECT, _In_ UINT)
int WINAPI GetSystemMetrics(_In_ int)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
SHORT WINAPI GetKeyState(_In_ int)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
LONG WINAPI TabbedTextOutW(_In_ HDC hdc, _In_ int x, _In_ int y, _In_reads_(chCount) LPCWSTR lpString, _In_ int chCount, _In_ int nTabPositions, _In_reads_opt_(nTabPositions) CONST INT *lpnTabStopPositions, _In_ int nTabOrigin)