41#define CI_TEXT_MARGIN_WIDTH (8)
42#define CI_TEXT_MARGIN_HEIGHT (3)
43#define CI_TEXT_SELECTIONMARGIN (1)
45#define TIMER_ID_SETHITFOCUS (1)
46#define TIMER_ID_RESETQUICKSEARCH (2)
48#define DEFAULT_QUICKSEARCH_SETFOCUS_DELAY (2000)
49#define DEFAULT_QUICKSEARCH_RESET_DELAY (3000)
87 UINT HoveredCheckItemBox;
118 if (infoPtr->hNotify !=
NULL)
144 for (
Item = infoPtr->CheckItemListHead;
168 for (
Item = infoPtr->CheckItemListHead;
191 for (CurItem = infoPtr->CheckItemListHead,
Index = 0;
211 for (CurItem = infoPtr->CheckItemListHead;
213 CurItem = CurItem->
Next)
232 for (CurItem = infoPtr->CheckItemListHead;
234 CurItem = CurItem->
Next)
254 for (CurItem = infoPtr->CheckItemListHead;
256 CurItem = CurItem->
Next)
260 LastEnabledItem = CurItem;
264 if (LastEnabledItem !=
NULL)
270 return LastEnabledItem;
279 if (infoPtr->FocusedCheckItem !=
NULL)
281 Item = infoPtr->FocusedCheckItem;
283 if (infoPtr->FocusedCheckItemBox ==
CLB_DENY &&
296 for (CurItem = infoPtr->CheckItemListHead;
297 CurItem != infoPtr->FocusedCheckItem;
298 CurItem = CurItem->
Next)
328 if (infoPtr->FocusedCheckItem !=
NULL)
330 Item = infoPtr->FocusedCheckItem;
332 if (infoPtr->FocusedCheckItemBox !=
CLB_DENY &&
398 Index = FirstVisible + (ppt->y / infoPtr->ItemHeight);
411 if (DirectlyInCheckBox !=
NULL)
413 INT y = ppt->y % infoPtr->ItemHeight;
419 (((ppt->x >= (infoPtr->CheckBoxLeft[
CLB_ALLOW] - (cxBox / 2))) &&
420 (ppt->x < (infoPtr->CheckBoxLeft[
CLB_ALLOW] - (cxBox / 2) + cxBox)))
422 ((ppt->x >= (infoPtr->CheckBoxLeft[
CLB_DENY] - (cxBox / 2))) &&
423 (ppt->x < (infoPtr->CheckBoxLeft[
CLB_DENY] - (cxBox / 2) + cxBox)))))
425 *DirectlyInCheckBox =
TRUE;
429 *DirectlyInCheckBox =
FALSE;
442 CurItem = infoPtr->CheckItemListHead;
443 while (CurItem !=
NULL)
452 infoPtr->CheckItemListHead =
NULL;
453 infoPtr->CheckItemCount = 0;
461 PCHECKITEM *PrevPtr = &infoPtr->CheckItemListHead;
463 for (CurItem = infoPtr->CheckItemListHead;
465 CurItem = CurItem->
Next)
469 if (
Item == infoPtr->QuickSearchHitItem && infoPtr->QuickSearchEnabled)
475 if (
Item == infoPtr->HoveredCheckItem)
477 ChangeCheckItemHotTrack(infoPtr,
483 if (
Item == infoPtr->FocusedCheckItem)
490 *PrevPtr = CurItem->
Next;
494 infoPtr->CheckItemCount--;
498 PrevPtr = &CurItem->
Next;
513 PCHECKITEM *PrevPtr = &infoPtr->CheckItemListHead;
519 for (CurItem = infoPtr->CheckItemListHead,
i = 0;
521 CurItem = CurItem->
Next)
523 PrevPtr = &CurItem->
Next;
534 infoPtr->CheckItemCount++;
551 for (CurItem = infoPtr->CheckItemListHead;
553 CurItem = CurItem->
Next)
575 ScrollInfo.
cbSize =
sizeof(ScrollInfo);
578 ScrollInfo.
nMax = infoPtr->CheckItemCount;
579 ScrollInfo.
nPage = ((rcClient.
bottom - rcClient.
top) + infoPtr->ItemHeight - 1) / infoPtr->ItemHeight;
583 VisibleItems = (rcClient.
bottom - rcClient.
top) / infoPtr->ItemHeight;
606 INT VisibleFirst, VisibleItems;
614 if (
Index >= VisibleFirst)
619 VisibleItems = ((rcClient.
bottom - rcClient.
top) + infoPtr->ItemHeight - 1) / infoPtr->ItemHeight;
621 if (
Index <= VisibleFirst + VisibleItems)
627 rcUpdate.
top = (
Index - VisibleFirst) * infoPtr->ItemHeight;
628 rcUpdate.
bottom = rcUpdate.
top + infoPtr->ItemHeight;
644 INT VisibleFirst, VisibleItems, NewPos;
652 if (
Index <= VisibleFirst)
661 VisibleItems = (rcClient.
bottom - rcClient.
top) / infoPtr->ItemHeight;
662 if (
Index - VisibleItems + 1 > VisibleFirst)
664 NewPos =
Index - VisibleItems + 1;
668 NewPos = VisibleFirst;
672 if (VisibleFirst != NewPos)
676 ScrollInfo.
cbSize =
sizeof(ScrollInfo);
678 ScrollInfo.
nPos = NewPos;
684 if (VisibleFirst != NewPos)
688 (NewPos - VisibleFirst) * infoPtr->ItemHeight,
741 HFONT hOldFont = infoPtr->hFont;
742 infoPtr->hFont =
hFont;
744 if (hOldFont !=
hFont)
749 if (infoPtr->ShowingCaret)
765CalculateCheckBoxStyle(
IN BOOL Checked,
797 UINT VisibleFirstIndex = rcUpdate->
top / infoPtr->ItemHeight;
798 UINT LastTouchedIndex = rcUpdate->bottom / infoPtr->ItemHeight;
811 ScrollPos + VisibleFirstIndex);
812 if (FirstItem !=
NULL)
814 RECT TextRect, ItemRect, CheckBox;
830 ItemRect.
top = VisibleFirstIndex * infoPtr->ItemHeight;
847 for (
Item = FirstItem, CurrentIndex = VisibleFirstIndex;
848 Item !=
NULL && CurrentIndex <= LastTouchedIndex;
852 ItemRect.
bottom = ItemRect.
top + infoPtr->ItemHeight;
864 infoPtr->TextColor[PrevEnabled]);
868 ItemHovered = (
Enabled && infoPtr->HoveredCheckItem ==
Item);
871 if (infoPtr->QuickSearchHitItem ==
Item)
875 SIZE_T TextLen, HighlightLen =
wcslen(infoPtr->QuickSearchText);
883 COLORREF HighlightTextColor, HighlightBackground;
884 RECT rcHighlight = TextRect;
889 rcHighlight.
right = rcHighlight.
left + TextSize.
cx;
896 HighlightBackground);
914 if (HighlightLen < TextLen)
920 Item->Name + HighlightLen,
937 CheckBox.
top = TextRect.
top;
941 IsPushed = (
Enabled &&
Item == infoPtr->FocusedCheckItem && infoPtr->HasFocus &&
943 infoPtr->FocusedPushed);
948 if (infoPtr->ThemeHandle !=
NULL)
952 (ItemHovered && infoPtr->HoveredCheckItemBox !=
CLB_DENY),
982 if (
Item == infoPtr->FocusedCheckItem && !(infoPtr->UIState & UISF_HIDEFOCUS) &&
984 infoPtr->FocusedCheckItemBox !=
CLB_DENY)
986 RECT rcFocus = CheckBox;
997 IsPushed = (
Enabled &&
Item == infoPtr->FocusedCheckItem && infoPtr->HasFocus &&
999 infoPtr->FocusedPushed);
1004 if (infoPtr->ThemeHandle !=
NULL)
1008 (ItemHovered && infoPtr->HoveredCheckItemBox ==
CLB_DENY),
1037 if (infoPtr->HasFocus && !(infoPtr->UIState & UISF_HIDEFOCUS) &&
1038 Item == infoPtr->FocusedCheckItem &&
1039 infoPtr->FocusedCheckItemBox ==
CLB_DENY)
1041 RECT rcFocus = CheckBox;
1051 TextRect.
top += infoPtr->ItemHeight;
1052 ItemRect.
top += infoPtr->ItemHeight;
1073 if (NewFocus != infoPtr->FocusedCheckItem)
1075 PCHECKITEM OldFocus = infoPtr->FocusedCheckItem;
1076 infoPtr->FocusedCheckItem = NewFocus;
1077 infoPtr->FocusedCheckItemBox = NewFocusBox;
1079 if (OldFocus !=
NULL)
1087 infoPtr->FocusedCheckItemBox = NewFocusBox;
1090 if (NewFocus !=
NULL)
1105 INT VisibleFirst, VisibleItems;
1113 if (
Index >= VisibleFirst)
1118 VisibleItems = ((rcClient.
bottom - rcClient.
top) + infoPtr->ItemHeight - 1) / infoPtr->ItemHeight;
1120 if (
Index <= VisibleFirst + VisibleItems)
1124 rcUpdate.
left = rcClient.
left + infoPtr->CheckBoxLeft[ItemBox] - (infoPtr->ItemHeight / 2);
1125 rcUpdate.
right = rcUpdate.
left + infoPtr->ItemHeight;
1126 rcUpdate.
top = ((
Index - VisibleFirst) * infoPtr->ItemHeight);
1127 rcUpdate.
bottom = rcUpdate.
top + infoPtr->ItemHeight;
1144 if (NewHotTrack != infoPtr->HoveredCheckItem)
1146 PCHECKITEM OldHotTrack = infoPtr->HoveredCheckItem;
1147 UINT OldHotTrackBox = infoPtr->HoveredCheckItemBox;
1149 infoPtr->HoveredCheckItem = NewHotTrack;
1150 infoPtr->HoveredCheckItemBox = NewHotTrackBox;
1152 if (OldHotTrack !=
NULL)
1161 infoPtr->HoveredCheckItemBox = NewHotTrackBox;
1164 if (NewHotTrack !=
NULL)
1179 DWORD OldState = CheckItem->State;
1181 BOOL Checked = (CheckItem->State & CheckedBit) != 0;
1184 CheckData.
NewState = (Checked ? OldState & ~CheckedBit : OldState | CheckedBit);
1185 CheckData.
CheckBox = infoPtr->FocusedCheckItemBox;
1192 CheckItem->State = CheckData.
NewState;
1195 return (CheckItem->State != OldState);
1203 infoPtr->ShowingCaret =
TRUE;
1207 infoPtr->CaretWidth,
1219 infoPtr->ShowingCaret =
FALSE;
1253 prcItem->left = rcClient.
left;
1254 prcItem->right = rcClient.
right;
1255 prcItem->top = (
Index - VisibleFirst) * infoPtr->ItemHeight;
1256 prcItem->bottom = prcItem->top + infoPtr->ItemHeight;
1263 prcItem->bottom = 0;
1270 if (infoPtr->ShowingCaret && infoPtr->QuickSearchHitItem !=
NULL)
1282 if (infoPtr->QuickSearchText[0] ==
L'\0' ||
1284 infoPtr->QuickSearchHitItem->Name,
1285 wcslen(infoPtr->QuickSearchText),
1291 infoPtr->QuickSearchHitItem,
1311 if (infoPtr->QuickSearchEnabled && infoPtr->QuickSearchHitItem !=
NULL)
1313 PCHECKITEM OldHit = infoPtr->QuickSearchHitItem;
1315 infoPtr->QuickSearchHitItem =
NULL;
1316 infoPtr->QuickSearchText[0] =
L'\0';
1319 if (infoPtr->FocusedCheckItem !=
NULL)
1322 infoPtr->FocusedCheckItem);
1339 PCHECKITEM OldHit = infoPtr->QuickSearchHitItem;
1341 infoPtr->QuickSearchHitItem = NewHit;
1343 if (OldHit != NewHit)
1370 if (infoPtr->QuickSearchSetFocusDelay != 0)
1374 infoPtr->QuickSearchSetFocusDelay,
1383 if (infoPtr->QuickSearchEnabled)
1393 Ret = infoPtr->QuickSearchHitItem !=
NULL;
1401 infoPtr->QuickSearchHitItem,
1411 if (infoPtr->QuickSearchHitItem !=
NULL)
1413 INT SearchLen =
wcslen(infoPtr->QuickSearchText);
1417 infoPtr->QuickSearchText[--SearchLen] =
L'\0';
1423 infoPtr->QuickSearchText);
1446 INT SearchLen =
wcslen(infoPtr->QuickSearchText);
1447 if (SearchLen < (
INT)(
sizeof(infoPtr->QuickSearchText) /
sizeof(infoPtr->QuickSearchText[0])) - 1)
1449 infoPtr->QuickSearchText[SearchLen++] =
c;
1450 infoPtr->QuickSearchText[SearchLen] =
L'\0';
1453 infoPtr->QuickSearchText);
1465 infoPtr->QuickSearchText[--SearchLen] =
L'\0';
1491 goto HandleDefaultMessage;
1537 if (hWndCapture ==
NULL && infoPtr->ThemeHandle !=
NULL)
1541 UINT HotTrackItemBox;
1547 if (HotTrackItem !=
NULL && InCheckBox)
1549 if (infoPtr->HoveredCheckItem != HotTrackItem ||
1550 infoPtr->HoveredCheckItemBox != HotTrackItemBox)
1552 ChangeCheckItemHotTrack(infoPtr,
1559 ChangeCheckItemHotTrack(infoPtr,
1564 tme.
cbSize =
sizeof(tme);
1603 ScrollInfo.
cbSize =
sizeof(ScrollInfo);
1619 if (ScrollInfo.
nPos < ScrollInfo.
nMax)
1626 if (ScrollInfo.
nPos > 0)
1645 ScrollLines =
max(1,
1648 if (ScrollInfo.
nPos + ScrollLines <= ScrollInfo.
nMax)
1650 ScrollInfo.
nPos += ScrollLines;
1672 ScrollLines =
max(1,
1675 if (ScrollInfo.
nPos >= ScrollLines)
1677 ScrollInfo.
nPos -= ScrollLines;
1681 ScrollInfo.
nPos = 0;
1694 ScrollInfo.
nPos = 0;
1698 if (OldPos != ScrollInfo.
nPos)
1707 if (OldPos != ScrollInfo.
nPos)
1777 if (
Item->State != OldState)
1887 case WM_STYLECHANGED:
1907 UINT ScrollLines = 3;
1915 if (ScrollLines != 0 &&
1920 ScrollInfo.
cbSize =
sizeof(ScrollInfo);
1930 if (ScrollInfo.
nPos < 0)
1931 ScrollInfo.
nPos = 0;
1932 else if (ScrollInfo.
nPos > ScrollInfo.
nMax)
1935 if (OldPos != ScrollInfo.
nPos)
1944 if (OldPos != ScrollInfo.
nPos)
2011 UINT NewFocusBox = 0;
2023 if (NewFocus !=
NULL)
2109 DWORD OtherStateOld = PtItem->
State & OtherStateMask;
2113 ((PtItem->
State & OtherStateMask) != OtherStateOld))
2172 DWORD OtherStateMask;
2173 DWORD OtherStateOld;
2179 OtherStateMask = ((OtherBox ==
CLB_ALLOW) ?
2207 UINT NewFocusBox = 0;
2233 goto HandleDefaultMessage;
2335 if (infoPtr->HoveredCheckItem !=
NULL)
2338 ChangeCheckItemHotTrack(infoPtr,
2345 case WM_THEMECHANGED:
2347 if (infoPtr->ThemeHandle !=
NULL)
2350 infoPtr->ThemeHandle =
NULL;
2369 &infoPtr->HoverTime,
2401 case WM_UPDATEUISTATE:
2416 if (OldUIState != infoPtr->
UIState)
2476 if (infoPtr !=
NULL)
2487 infoPtr->CheckItemListHead =
NULL;
2488 infoPtr->CheckItemCount = 0;
2492 &infoPtr->CaretWidth,
2495 infoPtr->CaretWidth = 2;
2497 infoPtr->ItemHeight = 10;
2498 infoPtr->ShowingCaret =
FALSE;
2500 infoPtr->HasFocus =
FALSE;
2501 infoPtr->FocusedCheckItem =
NULL;
2502 infoPtr->FocusedCheckItemBox = 0;
2503 infoPtr->FocusedPushed =
FALSE;
2511 infoPtr->CheckBoxLeft[0] = rcClient.
right - 30;
2512 infoPtr->CheckBoxLeft[1] = rcClient.
right - 15;
2514 infoPtr->QuickSearchEnabled =
FALSE;
2515 infoPtr->QuickSearchText[0] =
L'\0';
2521 infoPtr->HoveredCheckItem =
NULL;
2522 infoPtr->HoveredCheckItemBox = 0;
2525 &infoPtr->HoverTime,
2538 infoPtr->ThemeHandle =
NULL;
2564 if (infoPtr->ThemeHandle !=
NULL)
2581HandleDefaultMessage:
#define CI_TEXT_MARGIN_HEIGHT
static PCHECKITEM AddCheckItem(IN PCHECKLISTWND infoPtr, IN LPWSTR Name, IN DWORD State, IN ACCESS_MASK AccessMask, OUT INT *Index)
static VOID UpdateCheckItem(IN PCHECKLISTWND infoPtr, IN PCHECKITEM Item)
BOOL RegisterCheckListControl(IN HINSTANCE hInstance)
#define CI_TEXT_MARGIN_WIDTH
static VOID EscapeQuickSearch(IN PCHECKLISTWND infoPtr)
static VOID ChangeCheckItemFocus(IN PCHECKLISTWND infoPtr, IN PCHECKITEM NewFocus, IN UINT NewFocusBox)
static PCHECKITEM FindLastEnabledCheckBox(IN PCHECKLISTWND infoPtr, OUT UINT *CheckBox)
static UINT ClearCheckBoxes(IN PCHECKLISTWND infoPtr)
static BOOL QuickSearchFindHit(IN PCHECKLISTWND infoPtr, IN WCHAR c)
static UINT GetIdealItemHeight(IN PCHECKLISTWND infoPtr)
#define CI_TEXT_SELECTIONMARGIN
static LRESULT CALLBACK CheckListWndProc(IN HWND hwnd, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
static BOOL ChangeCheckBox(IN PCHECKLISTWND infoPtr, IN PCHECKITEM CheckItem, IN UINT CheckItemBox)
static VOID ChangeSearchHit(IN PCHECKLISTWND infoPtr, IN PCHECKITEM NewHit)
static PCHECKITEM FindNextEnabledCheckBox(IN PCHECKLISTWND infoPtr, OUT UINT *CheckBox)
static LRESULT NotifyControlParent(IN PCHECKLISTWND infoPtr, IN UINT code, IN OUT PVOID data)
static const WCHAR szCheckListWndClass[]
static BOOL DeleteCheckItem(IN PCHECKLISTWND infoPtr, IN PCHECKITEM Item)
struct _CHECKLISTWND CHECKLISTWND
#define TIMER_ID_SETHITFOCUS
VOID UnregisterCheckListControl(HINSTANCE hInstance)
static VOID RemoveCaret(IN PCHECKLISTWND infoPtr)
struct _CHECKLISTWND * PCHECKLISTWND
struct _CHECKITEM * PCHECKITEM
static VOID KillQuickSearchTimers(IN PCHECKLISTWND infoPtr)
static INT CheckItemToIndex(IN PCHECKLISTWND infoPtr, IN PCHECKITEM Item)
#define DEFAULT_QUICKSEARCH_SETFOCUS_DELAY
static VOID MapItemToRect(IN PCHECKLISTWND infoPtr, IN PCHECKITEM CheckItem, OUT RECT *prcItem)
static VOID UpdateCaretPos(IN PCHECKLISTWND infoPtr)
static VOID MakeCheckItemVisible(IN PCHECKLISTWND infoPtr, IN PCHECKITEM Item)
static HFONT RetChangeControlFont(IN PCHECKLISTWND infoPtr, IN HFONT hFont, IN BOOL Redraw)
static VOID DisplayCaret(IN PCHECKLISTWND infoPtr)
#define DEFAULT_QUICKSEARCH_RESET_DELAY
static PCHECKITEM FindFirstEnabledCheckBox(IN PCHECKLISTWND infoPtr, OUT UINT *CheckBox)
static PCHECKITEM PtToCheckItemBox(IN PCHECKLISTWND infoPtr, IN PPOINT ppt, OUT UINT *CheckBox, OUT BOOL *DirectlyInCheckBox)
static INT FindCheckItemIndexByAccessMask(IN PCHECKLISTWND infoPtr, IN ACCESS_MASK AccessMask)
static PCHECKITEM FindPreviousEnabledCheckBox(IN PCHECKLISTWND infoPtr, OUT UINT *CheckBox)
static VOID UpdateCheckItemBox(IN PCHECKLISTWND infoPtr, IN PCHECKITEM Item, IN UINT ItemBox)
static VOID UpdateControl(IN PCHECKLISTWND infoPtr)
struct _CHECKITEM CHECKITEM
static PCHECKITEM FindEnabledCheckBox(IN PCHECKLISTWND infoPtr, IN BOOL ReverseSearch, OUT UINT *CheckBox)
static PCHECKITEM FindCheckItemByIndex(IN PCHECKLISTWND infoPtr, IN INT Index)
#define TIMER_ID_RESETQUICKSEARCH
static VOID PaintControl(IN PCHECKLISTWND infoPtr, IN HDC hDC, IN PRECT rcUpdate)
static VOID ClearCheckItems(IN PCHECKLISTWND infoPtr)
static PCHECKITEM FindCheckItem(IN PCHECKLISTWND infoPtr, IN LPWSTR SearchText)
#define CLM_CLEARCHECKBOXES
#define CLM_ENABLEQUICKSEARCH
#define CIS_ALLOWDISABLED
#define CLM_SETCHECKBOXCOLUMN
#define CLM_SETQUICKSEARCH_TIMEOUT_SETFOCUS
#define CLN_CHANGINGITEMCHECKBOX
#define CLM_GETCHECKBOXCOLUMN
#define CLM_SETQUICKSEARCH_TIMEOUT_RESET
#define CLM_FINDITEMBYACCESSMASK
#define HeapFree(x, y, z)
static LPDATABLOCK_HEADER NextItem(LPDBLIST lpList)
HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const RECT *pClipRect)
HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR classlist)
HRESULT WINAPI CloseThemeData(HTHEME hTheme)
BOOL WINAPI IsAppThemed(void)
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei GLsizei height
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
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
_In_ ACCESS_MASK AccessMask
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
_Check_return_ _CRTIMP int __cdecl _wcsnicmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
PCHECKITEM FocusedCheckItem
UINT QuickSearchResetDelay
PCHECKITEM QuickSearchHitItem
WCHAR QuickSearchText[65]
PCHECKITEM CheckItemListHead
UINT QuickSearchSetFocusDelay
#define CBS_UNCHECKEDNORMAL
#define CBS_CHECKEDNORMAL
_In_ WDFCOLLECTION _In_ ULONG Index
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
BOOL WINAPI SetBrushOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
#define GetTextExtentPoint32
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
HWND WINAPI SetCapture(_In_ HWND hWnd)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
DWORD WINAPI GetSysColor(_In_ int)
BOOL WINAPI RedrawWindow(_In_opt_ HWND, _In_opt_ LPCRECT, _In_opt_ HRGN, _In_ UINT)
BOOL WINAPI ShowCaret(_In_opt_ HWND)
BOOL WINAPI ReleaseCapture(void)
#define SW_SCROLLCHILDREN
BOOL WINAPI DrawFrameControl(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT)
HWND WINAPI GetCapture(void)
BOOL WINAPI TrackMouseEvent(_Inout_ LPTRACKMOUSEEVENT)
#define WM_SYSCOLORCHANGE
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HWND WINAPI SetFocus(_In_opt_ HWND)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
struct tagNMHDR * LPNMHDR
#define COLOR_HIGHLIGHTTEXT
HDC WINAPI GetDC(_In_opt_ HWND)
BOOL WINAPI IsWindowEnabled(_In_ HWND)
int WINAPI SetScrollInfo(_In_ HWND, _In_ int, _In_ LPCSCROLLINFO, _In_ BOOL)
BOOL WINAPI DrawFocusRect(_In_ HDC, _In_ LPCRECT)
BOOL WINAPI SetCaretPos(_In_ int, _In_ int)
int WINAPI GetScrollPos(_In_ HWND, _In_ int)
BOOL WINAPI CreateCaret(_In_ HWND, _In_opt_ HBITMAP, _In_ int, _In_ int)
BOOL WINAPI DestroyCaret(void)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
#define SystemParametersInfo
BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int)
BOOL WINAPI GetScrollInfo(_In_ HWND, _In_ int, _Inout_ LPSCROLLINFO)
BOOL WINAPI GetUpdateRect(_In_ HWND, _Out_opt_ LPRECT, _In_ BOOL)
int WINAPI ScrollWindowEx(_In_ HWND, _In_ int, _In_ int, _In_opt_ LPCRECT, _In_opt_ LPCRECT, _In_opt_ HRGN, _Out_opt_ LPRECT, _In_ UINT)
BOOL WINAPI HideCaret(_In_opt_ HWND)
struct tagCREATESTRUCTW * LPCREATESTRUCTW
HWND WINAPI GetAncestor(_In_ HWND, _In_ UINT)
SHORT WINAPI GetKeyState(_In_ int)