comctl32: Move the style change code to the TB_SETSTYLE handler.
This commit is contained in:
parent
d6802318aa
commit
e82b9dc32e
@ -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
|
|||||||
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;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user