wine_dbgstr_rect(rcText));
hOldFont = SelectObject (hdc, infoPtr->hFont);
+#ifdef __REACTOS__
+ if (theme)
+ {
+ DWORD dwDTFlags2 = 0;
+ int partId = TP_BUTTON;
+ int stateId = TS_NORMAL;
+
+ if (state & CDIS_DISABLED)
+ {
+ stateId = TS_DISABLED;
+ dwDTFlags2 = DTT_GRAYED;
+ }
+ else if (state & CDIS_SELECTED)
+ stateId = TS_PRESSED;
+ else if (state & CDIS_CHECKED)
+ stateId = (state & CDIS_HOT) ? TS_HOTCHECKED : TS_HOT;
+ else if (state & CDIS_HOT)
+ stateId = TS_HOT;
+
+ DrawThemeText(theme, hdc, partId, stateId, lpText, -1, infoPtr->dwDTFlags, dwDTFlags2, rcText);
+ SelectObject (hdc, hOldFont);
+ return;
+ }
+#endif
+
if ((state & CDIS_HOT) && (dwItemCDFlag & TBCDRF_HILITEHOTTRACK )) {
clrOld = SetTextColor (hdc, tbcd->clrTextHighlight);
}
clrOld = SetTextColor (hdc, tbcd->clrText);
}
-#ifdef __REACTOS__
- if (theme)
- {
- int partId = TP_BUTTON;
- int stateId = TS_NORMAL;
-
- if (state & CDIS_DISABLED)
- stateId = TS_DISABLED;
- else if (state & CDIS_SELECTED)
- stateId = TS_PRESSED;
- else if (state & CDIS_CHECKED)
- stateId = (state & CDIS_HOT) ? TS_HOTCHECKED : TS_HOT;
- else if (state & CDIS_HOT)
- stateId = TS_HOT;
-
- DrawThemeText(theme, hdc, partId, stateId, lpText, -1, infoPtr->dwDTFlags, 0, rcText);
- }
- else
-#endif
DrawTextW (hdc, lpText, -1, rcText, infoPtr->dwDTFlags);
SetTextColor (hdc, clrOld);
if ((state & CDIS_MARKED) && !(dwItemCDFlag & TBCDRF_NOMARK))
else if (tbcd.nmcd.uItemState & CDIS_SELECTED)
stateId = TS_PRESSED;
else if (tbcd.nmcd.uItemState & CDIS_CHECKED)
+#ifdef __REACTOS__
+ stateId = (tbcd.nmcd.uItemState & CDIS_HOT) ? TS_HOTCHECKED : TS_CHECKED;
+#else
stateId = (tbcd.nmcd.uItemState & CDIS_HOT) ? TS_HOTCHECKED : TS_HOT;
+#endif
else if ((tbcd.nmcd.uItemState & CDIS_HOT)
|| (drawSepDropDownArrow && btnPtr->bDropDownPressed))
stateId = TS_HOT;
else if (btnPtr->bDropDownPressed || (tbcd.nmcd.uItemState & CDIS_SELECTED))
stateId = TS_PRESSED;
else if (tbcd.nmcd.uItemState & CDIS_CHECKED)
+#ifdef __REACTOS__
+ stateId = (tbcd.nmcd.uItemState & CDIS_HOT) ? TS_HOTCHECKED : TS_CHECKED;
+#else
stateId = (tbcd.nmcd.uItemState & CDIS_HOT) ? TS_HOTCHECKED : TS_HOT;
+#endif
else if (tbcd.nmcd.uItemState & CDIS_HOT)
stateId = TS_HOT;
TOOLBAR_DrawArrow(hdc, rcArrow.left+1, rcArrow.top+1 + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, comctl32_color.clrBtnHighlight);
TOOLBAR_DrawArrow(hdc, rcArrow.left, rcArrow.top + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, comctl32_color.clr3dShadow);
}
+#ifndef __REACTOS__
else if (tbcd.nmcd.uItemState & (CDIS_SELECTED | CDIS_CHECKED))
{
offset = (dwItemCDFlag & TBCDRF_NOOFFSET) ? 0 : 1;
}
else
TOOLBAR_DrawArrow(hdc, rcArrow.left, rcArrow.top + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, comctl32_color.clrBtnText);
+#else
+ else
+ {
+ COLORREF clr = comctl32_color.clrBtnText;
+ if (theme)
+ GetThemeColor(theme, TP_BUTTON, TS_NORMAL, TMT_TEXTCOLOR, &clr);
+
+ if (tbcd.nmcd.uItemState & (CDIS_SELECTED | CDIS_CHECKED))
+ {
+ offset = (dwItemCDFlag & TBCDRF_NOOFFSET) ? 0 : 1;
+ TOOLBAR_DrawArrow(hdc, rcArrow.left + offset, rcArrow.top + offset + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, clr);
+ }
+ else
+ TOOLBAR_DrawArrow(hdc, rcArrow.left, rcArrow.top + (rcArrow.bottom - rcArrow.top - ARROW_HEIGHT) / 2, clr);
+ }
+#endif
}
if (dwItemCustDraw & CDRF_NOTIFYPOSTPAINT)
TOOLBAR_TooltipDelTool(infoPtr, &infoPtr->buttons[nIndex]);
+ infoPtr->nHotItem = -1;
if (infoPtr->nNumButtons == 1) {
TRACE(" simple delete\n");
free_string( infoPtr->buttons );