Commit e82b9dc3 authored by Huw Davies's avatar Huw Davies Committed by Alexandre Julliard

comctl32: Move the style change code to the TB_SETSTYLE handler.

parent d6802318
...@@ -4922,7 +4922,28 @@ TOOLBAR_SetState (TOOLBAR_INFO *infoPtr, INT Id, LPARAM lParam) ...@@ -4922,7 +4922,28 @@ TOOLBAR_SetState (TOOLBAR_INFO *infoPtr, INT Id, LPARAM lParam)
static LRESULT static LRESULT
TOOLBAR_SetStyle (TOOLBAR_INFO *infoPtr, DWORD style) TOOLBAR_SetStyle (TOOLBAR_INFO *infoPtr, DWORD style)
{ {
DWORD dwOldStyle = infoPtr->dwStyle;
TRACE("new style 0x%08x\n", style);
if (style & TBSTYLE_LIST)
infoPtr->dwDTFlags = DT_LEFT | DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS;
else
infoPtr->dwDTFlags = DT_CENTER | DT_END_ELLIPSIS;
infoPtr->dwStyle = style; infoPtr->dwStyle = style;
TOOLBAR_CheckStyle(infoPtr);
if ((dwOldStyle ^ style) & (TBSTYLE_WRAPABLE | CCS_VERT))
TOOLBAR_LayoutToolbar(infoPtr);
/* only resize if one of the CCS_* styles was changed */
if ((dwOldStyle ^ style) & COMMON_STYLES)
{
TOOLBAR_AutoSize(infoPtr);
InvalidateRect(infoPtr->hwndSelf, NULL, TRUE);
}
return 0; return 0;
} }
...@@ -6337,30 +6358,7 @@ static LRESULT ...@@ -6337,30 +6358,7 @@ static LRESULT
TOOLBAR_StyleChanged (TOOLBAR_INFO *infoPtr, INT nType, const STYLESTRUCT *lpStyle) TOOLBAR_StyleChanged (TOOLBAR_INFO *infoPtr, INT nType, const STYLESTRUCT *lpStyle)
{ {
if (nType == GWL_STYLE) if (nType == GWL_STYLE)
{ return TOOLBAR_SetStyle(infoPtr, lpStyle->styleNew);
DWORD dwOldStyle = infoPtr->dwStyle;
if (lpStyle->styleNew & TBSTYLE_LIST)
infoPtr->dwDTFlags = DT_LEFT | DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS;
else
infoPtr->dwDTFlags = DT_CENTER | DT_END_ELLIPSIS;
TRACE("new style 0x%08x\n", lpStyle->styleNew);
infoPtr->dwStyle = lpStyle->styleNew;
TOOLBAR_CheckStyle (infoPtr);
if ((dwOldStyle ^ lpStyle->styleNew) & (TBSTYLE_WRAPABLE | CCS_VERT))
TOOLBAR_LayoutToolbar(infoPtr);
/* only resize if one of the CCS_* styles was changed */
if ((dwOldStyle ^ lpStyle->styleNew) & COMMON_STYLES)
{
TOOLBAR_AutoSize (infoPtr);
InvalidateRect(infoPtr->hwndSelf, NULL, TRUE);
}
}
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment