77#include "wine/unicode.h"
203#define SEPARATOR_WIDTH 8
205#define BOTTOM_BORDER 2
206#define DDARROW_WIDTH 11
207#define ARROW_HEIGHT 3
208#define INSERTMARK_WIDTH 2
230#define NONLIST_NOTEXT_OFFSET 2
232#define TOOLBAR_NOWHERE (-1)
235#define TBSTYLE_EX_ALL (TBSTYLE_EX_DRAWDDARROWS | \
236 TBSTYLE_EX_VERTICAL | \
237 TBSTYLE_EX_MIXEDBUTTONS | \
238 TBSTYLE_EX_DOUBLEBUFFER | \
239 TBSTYLE_EX_HIDECLIPPEDBUTTONS)
242#define COMMON_STYLES (CCS_TOP|CCS_NOMOVEY|CCS_BOTTOM|CCS_NORESIZE| \
243 CCS_NOPARENTALIGN|CCS_ADJUSTABLE|CCS_NODIVIDER|CCS_VERT)
245#define GETIBITMAP(infoPtr, i) (infoPtr->iVersion >= 5 ? LOWORD(i) : i)
246#define GETHIMLID(infoPtr, i) (infoPtr->iVersion >= 5 ? HIWORD(i) : 0)
247#define GETDEFIMAGELIST(infoPtr, id) TOOLBAR_GetImageList(infoPtr->himlDef, infoPtr->cimlDef, id)
248#define GETHOTIMAGELIST(infoPtr, id) TOOLBAR_GetImageList(infoPtr->himlHot, infoPtr->cimlHot, id)
249#define GETDISIMAGELIST(infoPtr, id) TOOLBAR_GetImageList(infoPtr->himlDis, infoPtr->cimlDis, id)
273 return infoPtr->szBarPadding.cy;
306 TRACE(
"TBBUTTON: id %d, bitmap=%d, state=%02x, style=%02x, data=%p, stringid=%p (%s)\n", tbb->
idCommand,
315 TRACE(
"button %d id %d, bitmap=%d, state=%02x, style=%02x, data=%08lx, stringid=0x%08lx\n",
319 TRACE(
"button %d id %d, hot=%s, row=%d, rect=(%s)\n",
332 TRACE(
"toolbar %p at line %d, exStyle=%08x, buttons=%d, bitmaps=%d, strings=%d, style=%08x\n",
336 TRACE(
"toolbar %p at line %d, himlInt=%p, himlDef=%p, himlHot=%p, himlDis=%p, redrawable=%s\n",
394 FIXME(
"[%p] TBSTYLE_REGISTERDROP not implemented\n", infoPtr->
hwndSelf);
409 (infoPtr->
bUnicode) ?
"via Unicode" :
"via ANSI");
431 memset(&nmgd, 0,
sizeof(nmgd));
441 TRACE(
"TBN_GETDISPINFO returned bitmap id %d, mask=%08x, nNumBitmaps=%d\n",
490 WARN(
"bitmap for ID %d, index %d is not valid, number of bitmaps in imagelist: %d\n",
498 ERR(
"TBN_GETDISPINFO returned invalid index %d\n",
516 FIXME(
"Shouldn't reach here\n");
520 TRACE(
"no image list\n");
647 DWORD dwDTFlags2 = 0;
654 dwDTFlags2 = DTT_GRAYED;
728 HDC hdcMask, hdcImage;
737 RGB(0xff, 0xff, 0xff),
RGB(0,0,0), draw_flags);
807 if (bm.bmBitsPixel == 32)
809 draw_desaturated =
TRUE;
844 TRACE(
"drawing index=%d, himl=%p, left=%d, top=%d, offset=%d\n",
852 else if (draw_desaturated)
857 imldp.
cbSize =
sizeof(imldp);
888 BOOL pressed_look = !non_interactive_state &&
918 BOOL pressed = bDropDownPressed ||
957 BOOL drawSepDropDownArrow = hasDropDownArrow &&
959 RECT rc, rcArrow, rcBitmap, rcText;
965 DWORD dwItemCustDraw;
997 FIXME(
"Draw some kind of separator: fsStyle=%x\n",
1006 if (hasDropDownArrow)
1015 if (drawSepDropDownArrow)
1018 rcArrow.left =
right;
1039 rcBitmap.left += ((rc.right - rc.left) - infoPtr->
nBitmapWidth) / 2;
1043 rcBitmap.top += infoPtr->themeMargins.cyTopHeight;
1046 TRACE(
"iBitmap=%d, start=(%d,%d) w=%d, h=%d\n",
1047 btnPtr->
iBitmap, rcBitmap.left, rcBitmap.top,
1107 dwItemCustDraw = ntfret & 0xffff;
1108 dwItemCDFlag = ntfret & 0xffff0000;
1133 if (hasDropDownArrow)
1172 if (drawSepDropDownArrow)
1203 TOOLBAR_DrawImage(infoPtr, btnPtr, rcBitmap.left, rcBitmap.top, &tbcd, dwItemCDFlag);
1205 if (hasDropDownArrow && !drawSepDropDownArrow)
1252 RECT rcTemp, rcClient;
1255 DWORD dwBaseCustDraw;
1281 dwBaseCustDraw = ntfret & 0xffff;
1310 rcInsertMark.
top = rcButton.
top;
1357 if(lpText !=
NULL) {
1375 TRACE(
"string size %d x %d!\n", lpSize->
cx, lpSize->
cy);
1407 lpSize->
cy =
tm.tmHeight;
1415 if (sz.
cx > lpSize->
cx)
1417 if (sz.
cy > lpSize->
cy)
1425 TRACE(
"max string size %d x %d\n", lpSize->
cx, lpSize->
cy);
1465 bButtonWrap =
FALSE;
1467 TRACE(
"start ButtonWidth=%d, BitmapWidth=%d, width=%d, nIndent=%d\n",
1473 btnPtr[
i].
fsState &= ~TBSTATE_WRAP;
1478 if (btnPtr[
i].
cx > 0)
1481 else if ((btnPtr[
i].fsStyle &
BTNS_SEP) &&
1498 TRACE(
"wrap point 1 btn %d style %02x\n",
i, btnPtr[
i].fsStyle);
1502 bButtonWrap =
FALSE;
1517 while( ( ((btnPtr[
i].fsStyle &
BTNS_SEP) &&
1520 i < infoPtr->nNumButtons )
1526 if( bFound && i < infoPtr->nNumButtons )
1529 TRACE(
"wrap point 2 btn %d style %02x, x=%d, cx=%d\n",
1530 i, btnPtr[
i].fsStyle,
x,
cx);
1533 bButtonWrap =
FALSE;
1548 TRACE(
"wrap point 3 btn %d style %02x, x=%d, cx=%d\n",
1549 i, btnPtr[
i].fsStyle,
x,
cx);
1552 bButtonWrap =
FALSE;
1569 TRACE(
"wrap point 4 btn %d style %02x, x=%d, cx=%d\n",
1570 i, btnPtr[
i].fsStyle,
x,
cx);
1581 TRACE(
"wrap point 5 btn %d style %02x, x=%d, cx=%d\n",
1582 i, btnPtr[
i].fsStyle,
x,
cx);
1586 bButtonWrap =
FALSE;
1592 TRACE(
"wrap point 6 btn %d style %02x, x=%d, cx=%d\n",
1593 i, btnPtr[
i].fsStyle,
x,
cx);
1709 BOOL bHasBitmap,
BOOL bValidImageList)
1719 if (bValidImageList)
1737 if (sizeString.
cx > 0)
1750 if (sizeString.
cy > 0)
1751 sizeButton.
cy += 1 + sizeString.
cy;
1765 sizeButton.
cx += infoPtr->themeMargins.cxLeftWidth + infoPtr->themeMargins.cxRightWidth;
1766 sizeButton.
cy += infoPtr->themeMargins.cyTopHeight + infoPtr->themeMargins.cyBottomHeight;
1786 SIZE sizeString, sizeButton;
1794 validImageList =
TRUE;
1825 nRows = nSepRows = 0;
1854 cx = (btnPtr->
cx > 0) ? btnPtr->
cx :
1913 TRACE(
"button %d style=%x, bWrap=%d, nRows=%d, nSepRows=%d, btnrow=%d, (%d,%d)-(%d,%d)\n",
1921 y +=
cy + infoPtr->szSpacing.cy;
1928 y +=
cy + ( (btnPtr->
cx > 0 ) ?
1932 y +=
cy + infoPtr->szSpacing.cy;
1950 x +=
cx + infoPtr->szSpacing.cx;
1979 TRACE(
" ON SEPARATOR %d\n",
i);
1985 TRACE(
" ON BUTTON %d\n",
i);
1993 TRACE(
" NOWHERE\n");
2002 INT nOldButtons, nNewButtons, iButton;
2009 nNewButtons = nOldButtons + nAddButtons;
2017 for (iButton = 0; iButton < nAddButtons; iButton++) {
2059 if (CommandIsIndex) {
2060 TRACE(
"command is really index command=%d\n", idCommand);
2067 TRACE(
"command=%d index=%d\n", idCommand,
i);
2071 TRACE(
"no index found for command=%d\n", idCommand);
2082 if ((nIndex < 0) || (nIndex > infoPtr->
nNumButtons))
2086 btnPtr = &infoPtr->
buttons[nIndex];
2093 nRunIndex = nIndex - 1;
2094 while (nRunIndex >= 0) {
2095 btnPtr = &infoPtr->
buttons[nRunIndex];
2106 nRunIndex = nIndex + 1;
2107 while (nRunIndex < infoPtr->nNumButtons) {
2108 btnPtr = &infoPtr->
buttons[nRunIndex];
2246 TRACE(
"index from %d, index to %d\n", nIndexFrom, nIndexTo);
2248 if (nIndexFrom == nIndexTo)
2253 nmtb.
iItem = nIndexFrom;
2274 if (nIndexTo >= (
count - 2))
2290 TRACE(
"Add: nIndexAvail %d, nIndexTo %d\n", nIndexAvail, nIndexTo);
2294 nmtb.
iItem = nIndexAvail;
2305 if (nIndexAvail != 0)
2309 if (nIndexAvail ==
count-1)
2375 if (nCurrentItem >= (nCount - 1))
return FALSE;
2383 if ((nCurrentItem >= 0) && (nCurrentItem < (nCount - 1)))
2391 if (nCurrentItem < 0)
2410 if ((nIndexTo >= 0) && (nIndexTo < (nCount - 1)))
2452 if ((nCurrentItem >= 0) && (nCurrentItem < nCount))
2460 if (nCurrentItem < 0)
2479 if ((nIndexTo >= 0) && (nIndexTo < nCount))
2522 infoPtr = custInfo->tbInfo;
2525 nmtb.
iItem = custInfo->tbInfo->nNumButtons;
2535 TRACE(
"TBNRF_HIDEHELP requested\n");
2540 for (
i = 0;
i < custInfo->tbInfo->nNumButtons;
i++)
2582 TRACE(
"WM_INITDIALOG style: %x iItem(%d) idCommand(%d) iString(%ld) %s\n",
2594 btnInfo->bVirtual =
FALSE;
2595 btnInfo->bRemovable =
TRUE;
2629 btnInfo->bVirtual =
TRUE;
2630 btnInfo->bRemovable =
FALSE;
2691 else if (
index == 0)
2797 if (btnInfo ==
NULL)
2799 FIXME(
"btnInfo invalid\n");
2819 rcButton = lpdis->
rcItem;
2822 rcButton.
right = rcButton.
left + custInfo->tbInfo->nBitmapWidth + 6;
2917 nAdded = nCountAfter - nCountBefore;
2918 if (
bitmap->nButtons == 0)
2921 }
else if (nAdded > (
INT)
bitmap->nButtons) {
2922 TRACE(
"Added more images than wParam: Previous image number %i added %i while wParam %i. Images in list %i\n",
2923 nCountBefore, nAdded,
bitmap->nButtons, nCountAfter);
2939 if (himlDef ==
NULL || himlDef != infoPtr->
himlInt)
2946 TRACE(
"Update icon size: %dx%d -> %dx%d\n",
2978 switch (lpAddBmp->
nID)
3009 WARN(
"unknown bitmap id, %ld\n", lpAddBmp->
nID);
3013 TRACE (
"adding %d internal bitmaps\n",
info.nButtons);
3016 if (lpAddBmp->
nID & 1)
3034 TRACE(
"adding %d bitmaps\n",
info.nButtons);
3049 TRACE (
"creating default image list\n");
3061 WARN(
"No default image list available\n");
3082 TRACE(
"adding %d buttons (unicode=%d)\n", nAddButtons, fUnicode);
3091#define MAX_RESOURCE_STRING_LENGTH 512
3105 TRACE(
"adding string from resource\n");
3113 TRACE(
"string not found in resources\n");
3121 if (
len == 0 ||
len == 1)
3124 TRACE(
"delimiter: 0x%x\n", *szString);
3130 if (next_delim + 1 >= szString +
len)
3150 TRACE(
"adding string(s) from array\n");
3186 TRACE(
"adding string(s) from array\n");
3221 RECT window_rect, parent_rect;
3233 x = parent_rect.
left;
3234 y = parent_rect.
top;
3243 y = window_rect.top;
3304 btnPtr = &infoPtr->
buttons[nIndex];
3330 btnPtr = &infoPtr->
buttons[nIndex];
3340 if (nOldIndex == nIndex)
3342 if (nOldIndex != -1)
3350 if (nOldIndex != -1)
3375 custInfo.
tbInfo = infoPtr;
3397 if ((nIndex < 0) || (nIndex >= infoPtr->
nNumButtons))
3400 memset(&nmtb, 0,
sizeof(nmtb));
3414 TRACE(
" simple delete\n");
3422 TRACE(
"complex delete [nIndex=%d]\n", nIndex);
3431 if (nIndex < infoPtr->nNumButtons) {
3462 btnPtr = &infoPtr->
buttons[nIndex];
3516 if ((nIndex < 0) || (nIndex >= infoPtr->
nNumButtons))
3519 btnPtr = &infoPtr->
buttons[nIndex];
3540 if (lpTbInfo ==
NULL)
3549 WARN(
"Invalid button size\n");
3557 btnPtr = &infoPtr->
buttons[nIndex];
3583 }
else if (!bUnicode || lpTbInfo->
pszText)
3616 if (lpStr)
strcpyW (lpStr, lpText);
3678 TRACE(
"hwnd = %p, lptbim = %p\n", infoPtr->
hwndSelf, lptbim);
3680 *lptbim = infoPtr->
tbim;
3700 btnPtr = &infoPtr->
buttons[nIndex];
3701 if ((nIndex < 0) || (nIndex >= infoPtr->
nNumButtons))
3727 TRACE(
"maximum size %d x %d\n",
3749 pMetrics->
cxBarPad = infoPtr->szBarPadding.cx;
3750 pMetrics->
cyBarPad = infoPtr->szBarPadding.cy;
3780 btnPtr = &infoPtr->
buttons[nIndex];
3781 if ((nIndex < 0) || (nIndex >= infoPtr->
nNumButtons))
3799 return infoPtr->
nRows;
3842 TRACE(
"%s hwnd=%p\n",
3869 btnPtr = &infoPtr->
buttons[nIndex];
3875 btnPtr->
fsState &= ~TBSTATE_HIDDEN;
3877 if (oldState != btnPtr->
fsState) {
3904 btnPtr = &infoPtr->
buttons[nIndex];
3910 btnPtr->
fsState &= ~TBSTATE_INDETERMINATE;
3912 if(oldState != btnPtr->
fsState)
3934 }
else if (nIndex < 0)
3937 TRACE(
"inserting button index=%d\n", nIndex);
3940 TRACE(
"adjust index=%d\n", nIndex);
4043 WCHAR wszAccel[] = {
'&',wAccel,0};
4046 TRACE(
"hwnd = %p, wAccel = %x(%s), pIDButton = %p\n",
4063 if ((lpszStr[0] ==
'&') && (lpszStr[1] ==
'&'))
4068 if (!
strncmpiW(lpszStr, wszAccel, iLen))
4088 TRACE(
"hwnd = %p, Id = %d, fMark = 0%d\n", infoPtr->
hwndSelf,
Id, fMark);
4094 btnPtr = &infoPtr->
buttons[nIndex];
4100 btnPtr->
fsState &= ~TBSTATE_MARKED;
4102 if(oldState != btnPtr->
fsState)
4116 else if (*
pIndex == nIndex)
4123 else if (*
pIndex == nIndex)
4136 TRACE(
"hwnd=%p, Id=%d, nMoveIndex=%d\n", infoPtr->
hwndSelf,
Id, nMoveIndex);
4139 if ((nIndex == -1) || (nMoveIndex < 0))
4148 if (nIndex < nMoveIndex)
4150 nCount = nMoveIndex - nIndex;
4159 else if (nIndex > nMoveIndex)
4161 nCount = nIndex - nMoveIndex;
4190 btnPtr = &infoPtr->
buttons[nIndex];
4196 btnPtr->
fsState &= ~TBSTATE_PRESSED;
4198 if(oldState != btnPtr->
fsState)
4210 int i = 0, nOldButtons = 0,
pos = 0;
4211 int nOldBitmaps, nNewBitmaps = 0;
4214 TRACE(
"hInstOld %p nIDOld %lx hInstNew %p nIDNew %lx nButtons %x\n",
4220 FIXME(
"changing standard bitmaps not implemented\n");
4224 FIXME(
"resources not in the current module not implemented\n");
4229 TRACE(
"tbimapinfo %d hInstOld %p nIDOld %x\n",
i, tbi->
hInst, tbi->
nID);
4237 TRACE(
"tbimapinfo changed %d hInstOld %p nIDOld %x\n",
i, tbi->
hInst, tbi->
nID);
4243 if (nOldButtons == 0)
4245 WARN(
"No hinst/bitmap found! hInst %p nID %lx\n", lpReplace->
hInstOld, lpReplace->
nIDOld);
4262 for (
i =
pos + nOldBitmaps - 1;
i >=
pos;
i--)
4274 TRACE(
" pos %d %d old bitmaps replaced by %d new ones.\n",
4275 pos, nOldBitmaps, nNewBitmaps);
4293 memset( &save, 0,
sizeof(save) );
4370 memset(&nmtbr, 0,
sizeof(nmtbr));
4454 if (
idx == -1)
continue;
4462 memset( &bi, 0,
sizeof(bi) );
4495 if (lpSave ==
NULL)
return 0;
4507 LPWSTR pszValueName = 0, pszSubKey = 0;
4512 if (lpSave ==
NULL)
return 0;
4516 if (!pszSubKey)
goto exit;
4521 if (!pszValueName)
goto exit;
4530 Free (pszValueName);
4542 TRACE(
"hwnd=%p, bAnchor = %s\n", infoPtr->
hwndSelf, bAnchor ?
"TRUE" :
"FALSE");
4562 FIXME(
"wParam is %ld. Perhaps image list index?\n",
wParam);
4571 TRACE(
"%d buttons, undoc change to bitmap size : %d-%d -> %d-%d\n",
4589 if ((himlDef == infoPtr->
himlInt) &&
4619 btnPtr = &infoPtr->
buttons[nIndex];
4627 btnPtr->
cx = lptbbi->
cx;
4637 oldBtnRect = btnPtr->
rect;
4655 if ((
cx < 0) || (
cy < 0))
4674 if (
cx == 0)
cx = 24;
4675 if (
cy == 0)
cy = 22;
4705 TRACE(
"matches current width, min=%d, max=%d, no recalc\n",
4717 TRACE(
"number of buttons %d, cx=%d, cy=%d, recalcing\n",
4731 if ((nIndex < 0) || (nIndex >= infoPtr->
nNumButtons))
4738 FIXME(
"change tool tip\n");
4796 FIXME(
"Unknown Toolbar Extended Style 0x%08x. Please report.\n",
4849 nmhotitem.
idOld = oldBtnPtr->idCommand;
4854 nmhotitem.
idOld = 0;
4859 btnPtr = &infoPtr->
buttons[nHit];
4865 nmhotitem.
idNew = 0;
4873 oldBtnPtr->bHot =
FALSE;
4893 TRACE(
"hwnd = %p, nHotItem = %d\n", infoPtr->
hwndSelf, nHotItem);
4906 if (nOldHotItem < 0)
4945 TRACE(
"hwnd %p, new himl=%p, id = %d, count=%d, bitmap w=%d, h=%d\n",
4963 if(infoPtr->
nIndent != nIndent)
4985 if ((lptbim->
iButton == -1) ||
4989 infoPtr->
tbim = *lptbim;
4994 ERR(
"Invalid button index %d\n", lptbim->
iButton);
5041 infoPtr->szBarPadding.cx = pMetrics->
cxBarPad;
5042 infoPtr->szBarPadding.cy = pMetrics->
cyBarPad;
5079 TRACE(
"cx=%d, cy=%d\n",
5095 return (
LRESULT)hwndOldNotify;
5107 TRACE(
"Setting rows to %d (%d)\n", rows, bLarger);
5109 if(infoPtr->
nRows != rows)
5136 btnPtr[
i].
fsState &= ~TBSTATE_WRAP;
5144 if (seps)
FIXME(
"Separators unhandled\n");
5151 if (bLarger && idealWrap > 1)
5153 int resRows = (infoPtr->
nNumButtons + (idealWrap-1)) / idealWrap;
5154 int moreRows = (infoPtr->
nNumButtons + (idealWrap-2)) / (idealWrap-1);
5156 if (resRows < rows && moreRows > rows)
5159 TRACE(
"Changing idealWrap due to bLarger (now %d)\n", idealWrap);
5163 curColumn = curRow = 0;
5165 TRACE(
"Trying to wrap at %d (%d,%d,%d)\n", idealWrap,
5182 if (curColumn > (idealWrap-1)) {
5188 TRACE(
"Result - %d rows\n", curRow + 1);
5229 btnPtr = &infoPtr->
buttons[nIndex];
5253 for (
i = 0;
i <
info->nNumButtons;
i++)
5295 TRACE(
"hwnd=%p, hwndTooltip=%p\n", infoPtr->
hwndSelf, hwndTooltip);
5307 TRACE(
"%s hwnd=%p\n",
5332 TRACE(
"new colors Hl=%x Shd=%x, old colors Hl=%x Shd=%x\n",
5350 if (iOldVersion == 6)
5374 TRACE(
"hwnd=%p, iString=%d, buffersize=%d, string=%p\n", infoPtr->
hwndSelf, iString, buffersize,
str);
5376 if (iString < infoPtr->nNumStrings)
5384 WARN(
"String index %d out of range (largest is %d)\n", iString, infoPtr->
nNumStrings - 1);
5399 if (iString < infoPtr->nNumStrings)
5413 WARN(
"String index %d out of range (largest is %d)\n", iString, infoPtr->
nNumStrings - 1);
5421 FIXME(
"hwnd=%p, wParam=0x%08lx, size.cx=%d, size.cy=%d stub\n",
hwnd,
wParam, pSize->
cx, pSize->
cy);
5433 TRACE(
"old item=%d, new item=%d, flags=%08x\n",
5436 if (nHotItem < 0 || nHotItem > infoPtr->
nNumButtons)
5444 return (nOldHotItem < 0) ? -1 : (
LRESULT)nOldHotItem;
5452 TRACE(
"hwnd=%p iListGap=%d\n", infoPtr->
hwndSelf, iListGap);
5485 TRACE(
"wParam %ld, lParam 0x%08lx -> 0x%08x 0x%08x\n",
5490 if (lpsize->
cx == -1) {
5514 TRACE(
"set to -> 0x%08x 0x%08x\n",
5515 lpsize->
cx, lpsize->
cy);
5615 DWORD dwEraseCustDraw = 0;
5626 dwEraseCustDraw = ntfret & 0xffff;
5629 switch (dwEraseCustDraw)
5636 FIXME(
"[%p] response %d not handled to NM_CUSTOMDRAW (CDDS_PREERASE)\n",
5665 dwEraseCustDraw = ntfret & 0xffff;
5666 switch (dwEraseCustDraw)
5673 FIXME(
"[%p] response %d not handled to NM_CUSTOMDRAW (CDDS_POSTERASE)\n",
5697 if ((nNewHotItem + iDirection < 0) ||
5698 (nNewHotItem + iDirection >= infoPtr->
nNumButtons))
5709 nNewHotItem += iDirection;
5785 BOOL bDragKeyPressed;
5805 btnPtr = &infoPtr->
buttons[nHit];
5823 arrowRect = btnPtr->
rect;
5842 memset(&nmtb, 0,
sizeof(nmtb));
5846 TRACE(
"TBN_DROPDOWN responded with %ld\n",
res);
5854 btnPtr->
fsState &= ~TBSTATE_PRESSED;
5890 memset(&nmtb, 0,
sizeof(nmtb));
5970 memset(&tbb, 0,
sizeof(tbb));
6003 btnPtr->
fsState &= ~TBSTATE_PRESSED;
6009 if ((nOldIndex != nHit) &&
6016 btnPtr->
fsState &= ~TBSTATE_CHECKED;
6022 if (nOldIndex != -1)
6038 memset(&nmtb, 0,
sizeof(nmtb));
6126 btnPtr->
fsState &= ~TBSTATE_PRESSED;
6160 btnPtr->
fsState &= ~TBSTATE_PRESSED;
6240 btnPtr->
fsState &= ~TBSTATE_PRESSED;
6300 infoPtr->
cxMin = -1;
6301 infoPtr->
cxMax = -1;
6326 infoPtr->szSpacing.cx = 0;
6327 infoPtr->szSpacing.cy = 0;
6328 memset(&infoPtr->themeMargins, 0 ,
sizeof(infoPtr->themeMargins));
6414 wszBuffer[0] =
'\0';
6491 unsigned int len = pszText ?
strlenW(pszText) : 0;
6526 switch (lpnmh->
code)
6534 TRACE(
"processed PGN_CALCSIZE, returning horz size = %d\n",
6539 TRACE(
"processed PGN_CALCSIZE, returning vert size = %d\n",
6551 TRACE(
"processed PGN_SCROLL, returning scroll=%d, dir=%d\n",
6560 FIXME(
"TTN_GETDISPINFOA - should not be received; please report\n");
6583 ERR(
"wrong response to WM_NOTIFYFORMAT (%ld), assuming ANSI\n",
6660 TRACE(
"set to %s\n",
6661 (
wParam) ?
"TRUE" :
"FALSE");
6666 return (oldredraw) ? 1 : 0;
6673 TRACE(
"sizing toolbar\n");
6678 DWORD min_x, max_x, min_y, max_y;
6704 SetRect(&delta_width, min_x, 0, max_x, min_y);
6705 SetRect(&delta_height, 0, min_y, max_x, max_y);
6749 memset(&infoPtr->themeMargins, 0 ,
sizeof(infoPtr->themeMargins));
6768 TRACE(
"hwnd=%p msg=%x wparam=%lx lparam=%lx\n",
7135 case WM_NOTIFYFORMAT:
7154 case WM_STYLECHANGED:
7159 case WM_THEMECHANGED:
7181 ERR(
"unknown msg %04x wp=%08lx lp=%08lx\n",
7223TOOLBARv6_Register (
void)
7240TOOLBARv6_Unregister (
void)
7286 for (
i = 0;
i < *cies;
i++)
7304 for (
i = 0;
i < cies;
i++)
7306 if (pies[
i]->
id ==
id)
7324 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
GLint GLint GLint GLint GLint GLint y
GLuint GLuint GLsizei count
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
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
#define strncmpiW(s1, s2, n)
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