202#define SEPARATOR_WIDTH 8
204#define BOTTOM_BORDER 2
205#define DDARROW_WIDTH 11
206#define ARROW_HEIGHT 3
207#define INSERTMARK_WIDTH 2
229#define NONLIST_NOTEXT_OFFSET 2
231#define TOOLBAR_NOWHERE (-1)
234#define TBSTYLE_EX_ALL (TBSTYLE_EX_DRAWDDARROWS | \
235 TBSTYLE_EX_VERTICAL | \
236 TBSTYLE_EX_MIXEDBUTTONS | \
237 TBSTYLE_EX_DOUBLEBUFFER | \
238 TBSTYLE_EX_HIDECLIPPEDBUTTONS)
241#define COMMON_STYLES (CCS_TOP|CCS_NOMOVEY|CCS_BOTTOM|CCS_NORESIZE| \
242 CCS_NOPARENTALIGN|CCS_ADJUSTABLE|CCS_NODIVIDER|CCS_VERT)
244#define GETIBITMAP(infoPtr, i) (infoPtr->iVersion >= 5 ? LOWORD(i) : i)
245#define GETHIMLID(infoPtr, i) (infoPtr->iVersion >= 5 ? HIWORD(i) : 0)
246#define GETDEFIMAGELIST(infoPtr, id) TOOLBAR_GetImageList(infoPtr->himlDef, infoPtr->cimlDef, id)
247#define GETHOTIMAGELIST(infoPtr, id) TOOLBAR_GetImageList(infoPtr->himlHot, infoPtr->cimlHot, id)
248#define GETDISIMAGELIST(infoPtr, id) TOOLBAR_GetImageList(infoPtr->himlDis, infoPtr->cimlDis, id)
272 return infoPtr->szBarPadding.cy;
315 TRACE(
"TBBUTTON: id %d, bitmap=%d, state=%02x, style=%02x, data=%p, stringid=%p (%s)\n", tbb->
idCommand,
324 TRACE(
"button %d id %d, bitmap=%d, state=%02x, style=%02x, data=%08lx, stringid=0x%08lx\n",
328 TRACE(
"button %d id %d, hot=%s, row=%d, rect=(%s)\n",
341 TRACE(
"toolbar %p at line %d, exStyle=%08x, buttons=%d, bitmaps=%d, strings=%d, style=%08x\n",
345 TRACE(
"toolbar %p at line %d, himlInt=%p, himlDef=%p, himlHot=%p, himlDis=%p, redrawable=%s\n",
403 FIXME(
"[%p] TBSTYLE_REGISTERDROP not implemented\n", infoPtr->
hwndSelf);
418 (infoPtr->
bUnicode) ?
"via Unicode" :
"via ANSI");
440 memset(&nmgd, 0,
sizeof(nmgd));
450 TRACE(
"TBN_GETDISPINFO returned bitmap id %d, mask=%08x, nNumBitmaps=%d\n",
499 WARN(
"bitmap for ID %d, index %d is not valid, number of bitmaps in imagelist: %d\n",
507 ERR(
"TBN_GETDISPINFO returned invalid index %d\n",
525 FIXME(
"Shouldn't reach here\n");
529 TRACE(
"no image list\n");
648 DWORD dwDTFlags = TOOLBAR_GetButtonDTFlags(infoPtr, btnPtr);
660 DWORD dwDTFlags2 = 0;
667 dwDTFlags2 = DTT_GRAYED;
676 DrawThemeText(theme,
hdc, partId, stateId, lpText, -1, dwDTFlags, dwDTFlags2, rcText);
749 HDC hdcMask, hdcImage;
758 RGB(0xff, 0xff, 0xff),
RGB(0,0,0), draw_flags);
828 if (bm.bmBitsPixel == 32)
830 draw_desaturated =
TRUE;
865 TRACE(
"drawing index=%d, himl=%p, left=%d, top=%d, offset=%d\n",
873 else if (draw_desaturated)
878 imldp.
cbSize =
sizeof(imldp);
909 BOOL pressed_look = !non_interactive_state &&
939 BOOL pressed = bDropDownPressed ||
978 BOOL drawSepDropDownArrow = hasDropDownArrow &&
980 RECT rc, rcArrow, rcBitmap, rcText;
986 DWORD dwItemCustDraw;
1018 FIXME(
"Draw some kind of separator: fsStyle=%x\n",
1027 if (hasDropDownArrow)
1036 if (drawSepDropDownArrow)
1039 rcArrow.left =
right;
1060 rcBitmap.left += ((rc.right - rc.left) - infoPtr->
nBitmapWidth) / 2;
1064 rcBitmap.top += infoPtr->themeMargins.cyTopHeight;
1067 TRACE(
"iBitmap=%d, start=(%d,%d) w=%d, h=%d\n",
1068 btnPtr->
iBitmap, rcBitmap.left, rcBitmap.top,
1128 dwItemCustDraw = ntfret & 0xffff;
1129 dwItemCDFlag = ntfret & 0xffff0000;
1154 if (hasDropDownArrow)
1193 if (drawSepDropDownArrow)
1228 TOOLBAR_DrawImage(infoPtr, btnPtr, rcBitmap.left, rcBitmap.top, &tbcd, dwItemCDFlag);
1230 if (hasDropDownArrow && !drawSepDropDownArrow)
1277 RECT rcTemp, rcClient;
1280 DWORD dwBaseCustDraw;
1306 dwBaseCustDraw = ntfret & 0xffff;
1335 rcInsertMark.
top = rcButton.
top;
1382 if(lpText !=
NULL) {
1400 TRACE(
"string size %d x %d!\n", lpSize->
cx, lpSize->
cy);
1432 lpSize->
cy =
tm.tmHeight;
1440 if (sz.
cx > lpSize->
cx)
1442 if (sz.
cy > lpSize->
cy)
1450 TRACE(
"max string size %d x %d\n", lpSize->
cx, lpSize->
cy);
1490 bButtonWrap =
FALSE;
1492 TRACE(
"start ButtonWidth=%d, BitmapWidth=%d, width=%d, nIndent=%d\n",
1498 btnPtr[
i].
fsState &= ~TBSTATE_WRAP;
1503 if (btnPtr[
i].
cx > 0)
1506 else if ((btnPtr[
i].fsStyle &
BTNS_SEP) &&
1523 TRACE(
"wrap point 1 btn %d style %02x\n",
i, btnPtr[
i].fsStyle);
1527 bButtonWrap =
FALSE;
1542 while( ( ((btnPtr[
i].fsStyle &
BTNS_SEP) &&
1545 i < infoPtr->nNumButtons )
1551 if( bFound && i < infoPtr->nNumButtons )
1554 TRACE(
"wrap point 2 btn %d style %02x, x=%d, cx=%d\n",
1555 i, btnPtr[
i].fsStyle,
x,
cx);
1558 bButtonWrap =
FALSE;
1573 TRACE(
"wrap point 3 btn %d style %02x, x=%d, cx=%d\n",
1574 i, btnPtr[
i].fsStyle,
x,
cx);
1577 bButtonWrap =
FALSE;
1594 TRACE(
"wrap point 4 btn %d style %02x, x=%d, cx=%d\n",
1595 i, btnPtr[
i].fsStyle,
x,
cx);
1606 TRACE(
"wrap point 5 btn %d style %02x, x=%d, cx=%d\n",
1607 i, btnPtr[
i].fsStyle,
x,
cx);
1611 bButtonWrap =
FALSE;
1617 TRACE(
"wrap point 6 btn %d style %02x, x=%d, cx=%d\n",
1618 i, btnPtr[
i].fsStyle,
x,
cx);
1734 BOOL bHasBitmap,
BOOL bValidImageList)
1744 if (bValidImageList)
1762 if (sizeString.
cx > 0)
1775 if (sizeString.
cy > 0)
1776 sizeButton.
cy += 1 + sizeString.
cy;
1790 sizeButton.
cx += infoPtr->themeMargins.cxLeftWidth + infoPtr->themeMargins.cxRightWidth;
1791 sizeButton.
cy += infoPtr->themeMargins.cyTopHeight + infoPtr->themeMargins.cyBottomHeight;
1811 SIZE sizeString, sizeButton;
1819 validImageList =
TRUE;
1850 nRows = nSepRows = 0;
1879 cx = (btnPtr->
cx > 0) ? btnPtr->
cx :
1938 TRACE(
"button %d style=%x, bWrap=%d, nRows=%d, nSepRows=%d, btnrow=%d, (%d,%d)-(%d,%d)\n",
1946 y +=
cy + infoPtr->szSpacing.cy;
1953 y +=
cy + ( (btnPtr->
cx > 0 ) ?
1957 y +=
cy + infoPtr->szSpacing.cy;
1975 x +=
cx + infoPtr->szSpacing.cx;
2004 TRACE(
" ON SEPARATOR %d\n",
i);
2010 TRACE(
" ON BUTTON %d\n",
i);
2018 TRACE(
" NOWHERE\n");
2027 INT nOldButtons, nNewButtons, iButton;
2034 nNewButtons = nOldButtons + nAddButtons;
2042 for (iButton = 0; iButton < nAddButtons; iButton++) {
2084 if (CommandIsIndex) {
2085 TRACE(
"command is really index command=%d\n", idCommand);
2092 TRACE(
"command=%d index=%d\n", idCommand,
i);
2096 TRACE(
"no index found for command=%d\n", idCommand);
2107 if ((nIndex < 0) || (nIndex > infoPtr->
nNumButtons))
2111 btnPtr = &infoPtr->
buttons[nIndex];
2118 nRunIndex = nIndex - 1;
2119 while (nRunIndex >= 0) {
2120 btnPtr = &infoPtr->
buttons[nRunIndex];
2131 nRunIndex = nIndex + 1;
2132 while (nRunIndex < infoPtr->nNumButtons) {
2133 btnPtr = &infoPtr->
buttons[nRunIndex];
2271 TRACE(
"index from %d, index to %d\n", nIndexFrom, nIndexTo);
2273 if (nIndexFrom == nIndexTo)
2278 nmtb.
iItem = nIndexFrom;
2299 if (nIndexTo >= (
count - 2))
2315 TRACE(
"Add: nIndexAvail %d, nIndexTo %d\n", nIndexAvail, nIndexTo);
2319 nmtb.
iItem = nIndexAvail;
2330 if (nIndexAvail != 0)
2334 if (nIndexAvail ==
count-1)
2400 if (nCurrentItem >= (nCount - 1))
return FALSE;
2408 if ((nCurrentItem >= 0) && (nCurrentItem < (nCount - 1)))
2416 if (nCurrentItem < 0)
2435 if ((nIndexTo >= 0) && (nIndexTo < (nCount - 1)))
2477 if ((nCurrentItem >= 0) && (nCurrentItem < nCount))
2485 if (nCurrentItem < 0)
2504 if ((nIndexTo >= 0) && (nIndexTo < nCount))
2547 infoPtr = custInfo->tbInfo;
2550 nmtb.
iItem = custInfo->tbInfo->nNumButtons;
2560 TRACE(
"TBNRF_HIDEHELP requested\n");
2565 for (
i = 0;
i < custInfo->tbInfo->nNumButtons;
i++)
2607 TRACE(
"WM_INITDIALOG style: %x iItem(%d) idCommand(%d) iString(%ld) %s\n",
2619 btnInfo->bVirtual =
FALSE;
2620 btnInfo->bRemovable =
TRUE;
2654 btnInfo->bVirtual =
TRUE;
2655 btnInfo->bRemovable =
FALSE;
2716 else if (
index == 0)
2822 if (btnInfo ==
NULL)
2824 FIXME(
"btnInfo invalid\n");
2844 rcButton = lpdis->
rcItem;
2847 rcButton.
right = rcButton.
left + custInfo->tbInfo->nBitmapWidth + 6;
2942 nAdded = nCountAfter - nCountBefore;
2943 if (
bitmap->nButtons == 0)
2946 }
else if (nAdded > (
INT)
bitmap->nButtons) {
2947 TRACE(
"Added more images than wParam: Previous image number %i added %i while wParam %i. Images in list %i\n",
2948 nCountBefore, nAdded,
bitmap->nButtons, nCountAfter);
2964 if (himlDef ==
NULL || himlDef != infoPtr->
himlInt)
2971 TRACE(
"Update icon size: %dx%d -> %dx%d\n",
3003 switch (lpAddBmp->
nID)
3034 WARN(
"unknown bitmap id, %ld\n", lpAddBmp->
nID);
3038 TRACE (
"adding %d internal bitmaps\n",
info.nButtons);
3041 if (lpAddBmp->
nID & 1)
3059 TRACE(
"adding %d bitmaps\n",
info.nButtons);
3074 TRACE (
"creating default image list\n");
3086 WARN(
"No default image list available\n");
3107 TRACE(
"adding %d buttons (unicode=%d)\n", nAddButtons, fUnicode);
3116#define MAX_RESOURCE_STRING_LENGTH 512
3130 TRACE(
"adding string from resource\n");
3138 TRACE(
"string not found in resources\n");
3146 if (
len == 0 ||
len == 1)
3149 TRACE(
"delimiter: 0x%x\n", *szString);
3155 if (next_delim + 1 >= szString +
len)
3175 TRACE(
"adding string(s) from array\n");
3211 TRACE(
"adding string(s) from array\n");
3246 RECT window_rect, parent_rect;
3258 x = parent_rect.
left;
3259 y = parent_rect.
top;
3268 y = window_rect.top;
3329 btnPtr = &infoPtr->
buttons[nIndex];
3355 btnPtr = &infoPtr->
buttons[nIndex];
3365 if (nOldIndex == nIndex)
3367 if (nOldIndex != -1)
3375 if (nOldIndex != -1)
3400 custInfo.
tbInfo = infoPtr;
3422 if ((nIndex < 0) || (nIndex >= infoPtr->
nNumButtons))
3425 memset(&nmtb, 0,
sizeof(nmtb));
3439 TRACE(
" simple delete\n");
3447 TRACE(
"complex delete [nIndex=%d]\n", nIndex);
3456 if (nIndex < infoPtr->nNumButtons) {
3487 btnPtr = &infoPtr->
buttons[nIndex];
3541 if ((nIndex < 0) || (nIndex >= infoPtr->
nNumButtons))
3544 btnPtr = &infoPtr->
buttons[nIndex];
3565 if (lpTbInfo ==
NULL)
3574 WARN(
"Invalid button size\n");
3582 btnPtr = &infoPtr->
buttons[nIndex];
3608 }
else if (!bUnicode || lpTbInfo->
pszText)
3641 if (lpStr)
lstrcpyW (lpStr, lpText);
3703 TRACE(
"hwnd = %p, lptbim = %p\n", infoPtr->
hwndSelf, lptbim);
3705 *lptbim = infoPtr->
tbim;
3725 btnPtr = &infoPtr->
buttons[nIndex];
3726 if ((nIndex < 0) || (nIndex >= infoPtr->
nNumButtons))
3752 TRACE(
"maximum size %d x %d\n",
3774 pMetrics->
cxBarPad = infoPtr->szBarPadding.cx;
3775 pMetrics->
cyBarPad = infoPtr->szBarPadding.cy;
3805 btnPtr = &infoPtr->
buttons[nIndex];
3806 if ((nIndex < 0) || (nIndex >= infoPtr->
nNumButtons))
3824 return infoPtr->
nRows;
3867 TRACE(
"%s hwnd=%p\n",
3894 btnPtr = &infoPtr->
buttons[nIndex];
3900 btnPtr->
fsState &= ~TBSTATE_HIDDEN;
3902 if (oldState != btnPtr->
fsState) {
3929 btnPtr = &infoPtr->
buttons[nIndex];
3935 btnPtr->
fsState &= ~TBSTATE_INDETERMINATE;
3937 if(oldState != btnPtr->
fsState)
3959 }
else if (nIndex < 0)
3962 TRACE(
"inserting button index=%d\n", nIndex);
3965 TRACE(
"adjust index=%d\n", nIndex);
4068 WCHAR wszAccel[] = {
'&',wAccel,0};
4071 TRACE(
"hwnd = %p, wAccel = %x(%s), pIDButton = %p\n",
4088 if ((lpszStr[0] ==
'&') && (lpszStr[1] ==
'&'))
4093 if (!
wcsnicmp(lpszStr, wszAccel, iLen))
4113 TRACE(
"hwnd = %p, Id = %d, fMark = 0%d\n", infoPtr->
hwndSelf,
Id, fMark);
4119 btnPtr = &infoPtr->
buttons[nIndex];
4125 btnPtr->
fsState &= ~TBSTATE_MARKED;
4127 if(oldState != btnPtr->
fsState)
4141 else if (*
pIndex == nIndex)
4148 else if (*
pIndex == nIndex)
4161 TRACE(
"hwnd=%p, Id=%d, nMoveIndex=%d\n", infoPtr->
hwndSelf,
Id, nMoveIndex);
4164 if ((nIndex == -1) || (nMoveIndex < 0))
4173 if (nIndex < nMoveIndex)
4175 nCount = nMoveIndex - nIndex;
4184 else if (nIndex > nMoveIndex)
4186 nCount = nIndex - nMoveIndex;
4215 btnPtr = &infoPtr->
buttons[nIndex];
4221 btnPtr->
fsState &= ~TBSTATE_PRESSED;
4223 if(oldState != btnPtr->
fsState)
4235 int i = 0, nOldButtons = 0,
pos = 0;
4236 int nOldBitmaps, nNewBitmaps = 0;
4239 TRACE(
"hInstOld %p nIDOld %lx hInstNew %p nIDNew %lx nButtons %x\n",
4245 FIXME(
"changing standard bitmaps not implemented\n");
4249 FIXME(
"resources not in the current module not implemented\n");
4254 TRACE(
"tbimapinfo %d hInstOld %p nIDOld %x\n",
i, tbi->
hInst, tbi->
nID);
4262 TRACE(
"tbimapinfo changed %d hInstOld %p nIDOld %x\n",
i, tbi->
hInst, tbi->
nID);
4268 if (nOldButtons == 0)
4270 WARN(
"No hinst/bitmap found! hInst %p nID %lx\n", lpReplace->
hInstOld, lpReplace->
nIDOld);
4287 for (
i =
pos + nOldBitmaps - 1;
i >=
pos;
i--)
4299 TRACE(
" pos %d %d old bitmaps replaced by %d new ones.\n",
4300 pos, nOldBitmaps, nNewBitmaps);
4318 memset( &save, 0,
sizeof(save) );
4395 memset(&nmtbr, 0,
sizeof(nmtbr));
4479 if (
idx == -1)
continue;
4487 memset( &bi, 0,
sizeof(bi) );
4520 if (lpSave ==
NULL)
return 0;
4532 LPWSTR pszValueName = 0, pszSubKey = 0;
4537 if (lpSave ==
NULL)
return 0;
4541 if (!pszSubKey)
goto exit;
4546 if (!pszValueName)
goto exit;
4555 Free (pszValueName);
4567 TRACE(
"hwnd=%p, bAnchor = %s\n", infoPtr->
hwndSelf, bAnchor ?
"TRUE" :
"FALSE");
4587 FIXME(
"wParam is %ld. Perhaps image list index?\n",
wParam);
4596 TRACE(
"%d buttons, undoc change to bitmap size : %d-%d -> %d-%d\n",
4614 if ((himlDef == infoPtr->
himlInt) &&
4644 btnPtr = &infoPtr->
buttons[nIndex];
4652 btnPtr->
cx = lptbbi->
cx;
4662 oldBtnRect = btnPtr->
rect;
4680 if ((
cx < 0) || (
cy < 0))
4699 if (
cx == 0)
cx = 24;
4700 if (
cy == 0)
cy = 22;
4730 TRACE(
"matches current width, min=%d, max=%d, no recalc\n",
4742 TRACE(
"number of buttons %d, cx=%d, cy=%d, recalcing\n",
4756 if ((nIndex < 0) || (nIndex >= infoPtr->
nNumButtons))
4763 FIXME(
"change tool tip\n");
4821 FIXME(
"Unknown Toolbar Extended Style 0x%08x. Please report.\n",
4874 nmhotitem.
idOld = oldBtnPtr->idCommand;
4879 nmhotitem.
idOld = 0;
4884 btnPtr = &infoPtr->
buttons[nHit];
4890 nmhotitem.
idNew = 0;
4898 oldBtnPtr->bHot =
FALSE;
4918 TRACE(
"hwnd = %p, nHotItem = %d\n", infoPtr->
hwndSelf, nHotItem);
4931 if (nOldHotItem < 0)
4970 TRACE(
"hwnd %p, new himl=%p, id = %d, count=%d, bitmap w=%d, h=%d\n",
4988 if(infoPtr->
nIndent != nIndent)
5010 if ((lptbim->
iButton == -1) ||
5014 infoPtr->
tbim = *lptbim;
5019 ERR(
"Invalid button index %d\n", lptbim->
iButton);
5066 infoPtr->szBarPadding.cx = pMetrics->
cxBarPad;
5067 infoPtr->szBarPadding.cy = pMetrics->
cyBarPad;
5104 TRACE(
"cx=%d, cy=%d\n",
5120 return (
LRESULT)hwndOldNotify;
5132 TRACE(
"Setting rows to %d (%d)\n", rows, bLarger);
5134 if(infoPtr->
nRows != rows)
5161 btnPtr[
i].
fsState &= ~TBSTATE_WRAP;
5169 if (seps)
FIXME(
"Separators unhandled\n");
5176 if (bLarger && idealWrap > 1)
5178 int resRows = (infoPtr->
nNumButtons + (idealWrap-1)) / idealWrap;
5179 int moreRows = (infoPtr->
nNumButtons + (idealWrap-2)) / (idealWrap-1);
5181 if (resRows < rows && moreRows > rows)
5184 TRACE(
"Changing idealWrap due to bLarger (now %d)\n", idealWrap);
5188 curColumn = curRow = 0;
5190 TRACE(
"Trying to wrap at %d (%d,%d,%d)\n", idealWrap,
5207 if (curColumn > (idealWrap-1)) {
5213 TRACE(
"Result - %d rows\n", curRow + 1);
5254 btnPtr = &infoPtr->
buttons[nIndex];
5278 for (
i = 0;
i <
info->nNumButtons;
i++)
5320 TRACE(
"hwnd=%p, hwndTooltip=%p\n", infoPtr->
hwndSelf, hwndTooltip);
5332 TRACE(
"%s hwnd=%p\n",
5357 TRACE(
"new colors Hl=%x Shd=%x, old colors Hl=%x Shd=%x\n",
5375 if (iOldVersion == 6)
5399 TRACE(
"hwnd=%p, iString=%d, buffersize=%d, string=%p\n", infoPtr->
hwndSelf, iString, buffersize,
str);
5401 if (iString < infoPtr->nNumStrings)
5409 WARN(
"String index %d out of range (largest is %d)\n", iString, infoPtr->
nNumStrings - 1);
5424 if (iString < infoPtr->nNumStrings)
5438 WARN(
"String index %d out of range (largest is %d)\n", iString, infoPtr->
nNumStrings - 1);
5446 FIXME(
"hwnd=%p, wParam=0x%08lx, size.cx=%d, size.cy=%d stub\n",
hwnd,
wParam, pSize->
cx, pSize->
cy);
5458 TRACE(
"old item=%d, new item=%d, flags=%08x\n",
5461 if (nHotItem < 0 || nHotItem > infoPtr->
nNumButtons)
5469 return (nOldHotItem < 0) ? -1 : (
LRESULT)nOldHotItem;
5477 TRACE(
"hwnd=%p iListGap=%d\n", infoPtr->
hwndSelf, iListGap);
5510 TRACE(
"wParam %ld, lParam 0x%08lx -> 0x%08x 0x%08x\n",
5515 if (lpsize->
cx == -1) {
5539 TRACE(
"set to -> 0x%08x 0x%08x\n",
5540 lpsize->
cx, lpsize->
cy);
5640 DWORD dwEraseCustDraw = 0;
5651 dwEraseCustDraw = ntfret & 0xffff;
5654 switch (dwEraseCustDraw)
5661 FIXME(
"[%p] response %d not handled to NM_CUSTOMDRAW (CDDS_PREERASE)\n",
5690 dwEraseCustDraw = ntfret & 0xffff;
5691 switch (dwEraseCustDraw)
5698 FIXME(
"[%p] response %d not handled to NM_CUSTOMDRAW (CDDS_POSTERASE)\n",
5722 if ((nNewHotItem + iDirection < 0) ||
5723 (nNewHotItem + iDirection >= infoPtr->
nNumButtons))
5734 nNewHotItem += iDirection;
5810 BOOL bDragKeyPressed;
5830 btnPtr = &infoPtr->
buttons[nHit];
5852 arrowRect = btnPtr->
rect;
5871 memset(&nmtb, 0,
sizeof(nmtb));
5875 TRACE(
"TBN_DROPDOWN responded with %ld\n",
res);
5883 btnPtr->
fsState &= ~TBSTATE_PRESSED;
5919 memset(&nmtb, 0,
sizeof(nmtb));
5999 memset(&tbb, 0,
sizeof(tbb));
6035 btnPtr->
fsState &= ~TBSTATE_PRESSED;
6041 if ((nOldIndex != nHit) &&
6048 btnPtr->
fsState &= ~TBSTATE_CHECKED;
6054 if (nOldIndex != -1)
6070 memset(&nmtb, 0,
sizeof(nmtb));
6158 btnPtr->
fsState &= ~TBSTATE_PRESSED;
6192 btnPtr->
fsState &= ~TBSTATE_PRESSED;
6272 btnPtr->
fsState &= ~TBSTATE_PRESSED;
6332 infoPtr->
cxMin = -1;
6333 infoPtr->
cxMax = -1;
6358 infoPtr->szSpacing.cx = 0;
6359 infoPtr->szSpacing.cy = 0;
6360 memset(&infoPtr->themeMargins, 0 ,
sizeof(infoPtr->themeMargins));
6448 wszBuffer[0] =
'\0';
6559 TRACE(
"TTN_GETDISPINFOW - got string %s\n",
debugstr_w(lpnmtdi->lpszText));
6564 if (lpnmtdi->lpszText && *lpnmtdi->lpszText)
6618 switch (lpnmh->
code)
6626 TRACE(
"processed PGN_CALCSIZE, returning horz size = %d\n",
6631 TRACE(
"processed PGN_CALCSIZE, returning vert size = %d\n",
6643 TRACE(
"processed PGN_SCROLL, returning scroll=%d, dir=%d\n",
6652 FIXME(
"TTN_GETDISPINFOA - should not be received; please report\n");
6675 ERR(
"wrong response to WM_NOTIFYFORMAT (%ld), assuming ANSI\n",
6752 TRACE(
"set to %s\n",
6753 (
wParam) ?
"TRUE" :
"FALSE");
6758 return (oldredraw) ? 1 : 0;
6765 TRACE(
"sizing toolbar\n");
6770 DWORD min_x, max_x, min_y, max_y;
6796 SetRect(&delta_width, min_x, 0, max_x, min_y);
6797 SetRect(&delta_height, 0, min_y, max_x, max_y);
6841 memset(&infoPtr->themeMargins, 0 ,
sizeof(infoPtr->themeMargins));
6860 TRACE(
"hwnd=%p msg=%x wparam=%lx lparam=%lx\n",
7227 case WM_NOTIFYFORMAT:
7246 case WM_STYLECHANGED:
7251 case WM_THEMECHANGED:
7273 ERR(
"unknown msg %04x wp=%08lx lp=%08lx\n",
7315TOOLBARv6_Register (
void)
7332TOOLBARv6_Unregister (
void)
7378 for (
i = 0;
i < *cies;
i++)
7396 for (
i = 0;
i < cies;
i++)
7398 if (pies[
i]->
id ==
id)
7416 himlDef = pie->
himl;
ACPI_SIZE strlen(const char *String)
static const char * wine_dbgstr_rect(const RECT *prc)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
PVOID ReAlloc(IN DWORD dwFlags, IN PVOID lpMem, IN SIZE_T dwBytes)
PVOID Alloc(IN DWORD dwFlags, IN SIZE_T dwBytes)
#define RegCloseKey(hKey)
INT Str_GetPtrWtoA(LPCWSTR lpSrc, LPSTR lpDest, INT nMaxLen) DECLSPEC_HIDDEN
BOOL COMCTL32_IsReflectedMessage(UINT uMsg) DECLSPEC_HIDDEN
#define IDC_AVAILBTN_LBOX
#define IDC_TOOLBARBTN_LBOX
BOOL Str_SetPtrAtoW(LPWSTR *lppDest, LPCSTR lpSrc) DECLSPEC_HIDDEN
void COMCTL32_DrawInsertMark(HDC hDC, const RECT *lpRect, COLORREF clrInsertMark, BOOL bHorizontal) DECLSPEC_HIDDEN
void COMCTL32_EnsureBitmapSize(HBITMAP *pBitmap, int cxMinWidth, int cyMinHeight, COLORREF crBackground) DECLSPEC_HIDDEN
VOID COMCTL32_RefreshSysColors(void) DECLSPEC_HIDDEN
INT WINAPI Str_GetPtrW(LPCWSTR, LPWSTR, INT)
COMCTL32_SysColor comctl32_color
BOOL WINAPI _TrackMouseEvent(TRACKMOUSEEVENT *ptme)
HBITMAP WINAPI CreateMappedBitmap(HINSTANCE hInstance, INT_PTR idBitmap, UINT wFlags, LPCOLORMAP lpColorMap, INT iNumMaps)
HBRUSH COMCTL32_hPattern55AABrush
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
LONG WINAPI RegCreateKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
BOOL WINAPI ImageList_SetIconSize(HIMAGELIST himl, INT cx, INT cy)
BOOL WINAPI ImageList_Draw(HIMAGELIST himl, INT i, HDC hdc, INT x, INT y, UINT fStyle)
BOOL WINAPI ImageList_Remove(HIMAGELIST himl, INT i)
BOOL WINAPI ImageList_GetImageInfo(HIMAGELIST himl, INT i, IMAGEINFO *pImageInfo)
BOOL WINAPI ImageList_DrawIndirect(IMAGELISTDRAWPARAMS *pimldp)
BOOL WINAPI ImageList_Destroy(HIMAGELIST himl)
BOOL WINAPI ImageList_DrawEx(HIMAGELIST himl, INT i, HDC hdc, INT x, INT y, INT dx, INT dy, COLORREF rgbBk, COLORREF rgbFg, UINT fStyle)
INT WINAPI ImageList_GetImageCount(HIMAGELIST himl)
INT WINAPI ImageList_AddMasked(HIMAGELIST himl, HBITMAP hBitmap, COLORREF clrMask)
HIMAGELIST WINAPI ImageList_Create(INT cx, INT cy, UINT flags, INT cInitial, INT cGrow)
BOOL WINAPI ImageList_SetImageCount(HIMAGELIST himl, UINT iImageCount)
BOOL WINAPI ImageList_GetIconSize(HIMAGELIST himl, INT *cx, INT *cy)
BOOL WINAPI Str_SetPtrW(LPWSTR *lppDest, LPCWSTR lpSrc)
#define WideCharToMultiByte
#define MultiByteToWideChar
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, const RECT *pRect, const RECT *pClipRect)
HRESULT WINAPI DrawThemeText(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, LPCWSTR pszText, int iCharCount, DWORD dwTextFlags, DWORD dwTextFlags2, const RECT *pRect)
HRESULT WINAPI GetThemeMargins(HTHEME hTheme, HDC hdc, int iPartId, int iStateId, int iPropId, RECT *prc, MARGINS *pMargins)
HRESULT WINAPI GetThemeColor(HTHEME hTheme, int iPartId, int iStateId, int iPropId, COLORREF *pColor)
HTHEME WINAPI OpenThemeData(HWND hwnd, LPCWSTR classlist)
HTHEME WINAPI GetWindowTheme(HWND hwnd)
HRESULT WINAPI CloseThemeData(HTHEME hTheme)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
BOOL WINAPI MakeDragList(HWND hwndLB)
VOID WINAPI DrawInsert(HWND hwndParent, HWND hwndLB, INT nItem)
INT WINAPI LBItemFromPt(HWND hwndLB, POINT pt, BOOL bAutoScroll)
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
#define wrap(journal, var)
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLint GLint GLint GLint GLint GLint y
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLdouble GLdouble GLdouble GLdouble top
GLenum const GLfloat * params
GLenum GLuint GLenum GLsizei const GLchar * buf
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 const GLfloat const GLdouble const GLfloat GLint GLint GLint j
#define memcpy(s1, s2, n)
#define memmove(s1, s2, n)
#define ERROR_FILE_NOT_FOUND
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static HTHEME(WINAPI *pOpenThemeDataEx)(HWND
_Out_ PULONG _Out_ PULONG pIndex
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
#define TB_GETUNICODEFORMAT
#define NM_RELEASEDCAPTURE
#define CDDS_ITEMPOSTPAINT
_Out_opt_ int _Out_opt_ int * cy
#define TB_GETBUTTONINFOA
#define TB_SETEXTENDEDSTYLE
#define IDB_VIEW_LARGE_COLOR
#define CDRF_NOTIFYPOSTERASE
#define TB_ISBUTTONPRESSED
#define TBSTATE_INDETERMINATE
#define TB_GETINSERTMARKCOLOR
#define CDDS_ITEMPREPAINT
#define IDB_HIST_LARGE_COLOR
#define LPSTR_TEXTCALLBACKW
#define TBN_TOOLBARCHANGE
#define TBSTYLE_EX_DRAWDDARROWS
#define TB_GETBUTTONTEXTW
#define CDRF_NOTIFYITEMDRAW
#define TBN_HOTITEMCHANGE
#define TB_GETBUTTONINFOW
#define CDIS_INDETERMINATE
struct tagTOOLINFOW TTTOOLINFOW
#define TB_GETDISABLEDIMAGELIST
#define IDB_HIST_SMALL_COLOR
#define TBSTYLE_EX_MIXEDBUTTONS
#define IDB_VIEW_SMALL_COLOR
#define TB_BUTTONSTRUCTSIZE
#define TB_SETUNICODEFORMAT
#define TB_GETANCHORHIGHLIGHT
#define CCM_SETCOLORSCHEME
#define TB_SETDISABLEDIMAGELIST
#define NM_TOOLTIPSCREATED
#define CDRF_NOTIFYPOSTPAINT
#define TBN_GETBUTTONINFOW
#define IDB_STD_LARGE_COLOR
#define TB_ISBUTTONINDETERMINATE
#define TBN_INITCUSTOMIZE
#define TBSTYLE_EX_HIDECLIPPEDBUTTONS
#define TB_SETBUTTONINFOW
#define TB_SETBOUNDINGSIZE
#define TB_SETANCHORHIGHLIGHT
#define TBCDRF_NOBACKGROUND
#define TBSTYLE_TRANSPARENT
#define TB_GETEXTENDEDSTYLE
#define TOOLBARCLASSNAMEW
#define TBMF_BUTTONSPACING
#define TBN_GETBUTTONINFOA
#define CCM_GETCOLORSCHEME
#define TBSTYLE_REGISTERDROP
#define TB_SETDRAWTEXTFLAGS
struct _TBBUTTON TBBUTTON
#define TB_GETBITMAPFLAGS
#define TB_ISBUTTONHIGHLIGHTED
struct tagTRACKMOUSEEVENT TRACKMOUSEEVENT
struct NMPGSCROLL * LPNMPGSCROLL
#define TBDDRET_TREATPRESSED
#define TB_GETHOTIMAGELIST
#define CCS_NOPARENTALIGN
#define TBCDRF_HILITEHOTTRACK
#define TB_MAPACCELERATORW
#define TBSTYLE_CUSTOMERASE
#define TBSTYLE_EX_VERTICAL
#define TB_SETHOTIMAGELIST
#define TB_SETBUTTONWIDTH
#define TB_GETBUTTONTEXTA
#define TB_SETINSERTMARKCOLOR
#define TB_ISBUTTONCHECKED
#define TB_ISBUTTONHIDDEN
#define TB_SETMAXTEXTROWS
#define TB_ISBUTTONENABLED
#define TB_COMMANDTOINDEX
struct NMPGCALCSIZE * LPNMPGCALCSIZE
#define TB_SETBUTTONINFOA
#define TBN_DELETINGBUTTON
#define BTNS_WHOLEDROPDOWN
#define IDB_STD_SMALL_COLOR
#define TB_MAPACCELERATORA
#define TB_GETIMAGELISTCOUNT
COLORREF clrHighlightText
COLORREF clrTextHighlight
COLORREF clrHighlightHotTrack
TW_UINT32 TW_UINT16 TW_UINT16 MSG
#define TMT_CONTENTMARGINS
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
BOOL WINAPI GetTextMetricsW(_In_ HDC, _Out_ LPTEXTMETRICW)
int WINAPI GetObjectW(_In_ HANDLE h, _In_ int c, _Out_writes_bytes_opt_(c) LPVOID pv)
HBITMAP WINAPI CreateBitmap(_In_ INT cx, _In_ INT cy, _In_ UINT cPlanes, _In_ UINT cBitsPerPel, _In_opt_ const VOID *pvBits)
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
BOOL WINAPI SetWindowOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
BOOL WINAPI RectVisible(_In_ HDC, _In_ LPCRECT)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
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)
BOOL WINAPI OffsetWindowOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
BOOL WINAPI PatBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD)
HBITMAP WINAPI CreateCompatibleBitmap(_In_ HDC hdc, _In_ INT cx, _In_ INT cy)
BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
BOOL WINAPI DeleteDC(_In_ HDC)
HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
BOOL WINAPI GetTextExtentPoint32W(_In_ HDC hdc, _In_reads_(c) LPCWSTR lpString, _In_ int c, _Out_ LPSIZE psizl)
struct tagDRAWITEMSTRUCT * LPDRAWITEMSTRUCT
HWND WINAPI SetCapture(_In_ HWND hWnd)
HWND WINAPI ChildWindowFromPoint(_In_ HWND, _In_ POINT)
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
BOOL WINAPI IsWindow(_In_opt_ HWND)
BOOL WINAPI RedrawWindow(_In_opt_ HWND, _In_opt_ LPCRECT, _In_opt_ HRGN, _In_ UINT)
#define GetWindowLongPtrW
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI ReleaseCapture(void)
DWORD WINAPI GetMessagePos(void)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define WM_CAPTURECHANGED
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
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 SetWindowLongW(_In_ HWND, _In_ int, _In_ LONG)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
#define LR_CREATEDIBSECTION
#define IS_INTRESOURCE(i)
ATOM WINAPI RegisterClassW(_In_ CONST WNDCLASSW *)
HANDLE WINAPI LoadImageW(_In_opt_ HINSTANCE hInst, _In_ LPCWSTR name, _In_ UINT type, _In_ int cx, _In_ int cy, _In_ UINT fuLoad)
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
HCURSOR WINAPI SetCursor(_In_opt_ HCURSOR)
HDC WINAPI GetDCEx(_In_opt_ HWND, _In_opt_ HRGN, _In_ DWORD)
#define SPI_GETICONTITLELOGFONT
#define WM_SYSCOLORCHANGE
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
HANDLE WINAPI CopyImage(_In_ HANDLE, _In_ UINT, _In_ int, _In_ int, _In_ UINT)
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
BOOL WINAPI ClientToScreen(_In_ HWND, _Inout_ LPPOINT)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI PtInRect(_In_ LPCRECT, _In_ POINT)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI DrawEdge(_In_ HDC, _Inout_ LPRECT, _In_ UINT, _In_ UINT)
HWND WINAPI SetFocus(_In_opt_ HWND)
BOOL WINAPI PeekMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT, _In_ UINT)
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)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
BOOL WINAPI IntersectRect(_Out_ LPRECT, _In_ LPCRECT, _In_ LPCRECT)
BOOL WINAPI UpdateWindow(_In_ HWND)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
HDC WINAPI GetDC(_In_opt_ HWND)
LONG WINAPI GetMessageTime(void)
BOOL WINAPI SystemParametersInfoW(_In_ UINT uiAction, _In_ UINT uiParam, _Inout_opt_ PVOID pvParam, _In_ UINT fWinIni)
BOOL WINAPI SetRectEmpty(_Out_ LPRECT)
HWND WINAPI GetParent(_In_ HWND)
_In_ int _Inout_ LPRECT lprc
BOOL WINAPI OffsetRect(_Inout_ LPRECT, _In_ int, _In_ int)
int WINAPI GetDlgCtrlID(_In_ HWND)
BOOL WINAPI UnregisterClassW(_In_ LPCWSTR, HINSTANCE)
BOOL WINAPI DrawFocusRect(_In_ HDC, _In_ LPCRECT)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
#define MAKEINTRESOURCEW(i)
HBITMAP WINAPI LoadBitmapW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
#define SetWindowLongPtrW
BOOL WINAPI InflateRect(_Inout_ LPRECT, _In_ int, _In_ int)
BOOL WINAPI DestroyWindow(_In_ HWND)
BOOL WINAPI EqualRect(_In_ LPCRECT, _In_ LPCRECT)
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)
INT_PTR WINAPI DialogBoxParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)
_In_opt_ PALLOCATE_FUNCTION _In_opt_ PFREE_FUNCTION Free