mirror of
https://github.com/reactos/reactos.git
synced 2024-11-20 14:30:57 +00:00
[COMCTL32] -toolbar: Improve drawing diabled text with themes. CORE-13855
This commit is contained in:
parent
a0296dd3de
commit
f463ebe9e7
1 changed files with 25 additions and 19 deletions
|
@ -627,6 +627,31 @@ TOOLBAR_DrawString (const TOOLBAR_INFO *infoPtr, RECT *rcText, LPCWSTR lpText,
|
|||
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);
|
||||
}
|
||||
|
@ -649,25 +674,6 @@ TOOLBAR_DrawString (const TOOLBAR_INFO *infoPtr, RECT *rcText, LPCWSTR lpText,
|
|||
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))
|
||||
|
|
Loading…
Reference in a new issue