http://bugs.winehq.org/show_bug.cgi?id=17654
--- Comment #1 from Igor Tarasov tarasov.igor@gmail.com 2009-03-10 09:34:09 --- So, I've figured that. Some story: there is a comment in toolbar.c:
/* UNDOCUMENTED: If a separator has a non zero bitmap index, */ /* it is the actual width of the separator. This is used for */ /* custom controls in toolbars. */ /* */
This is incorrect. I am not sure what the correct behavior is exactly, but if there was TOOLBAR_SetButtonInfoW call updating button size (cx) then native comctl changes separator's width. Builtin ignores this value.
Way to reproduce with control spy: Open toolbar.exe. Send two messages one by one: Firstly change button into separator:
MSG (TB_SETBUTTONINFO,2, TBBUTTONINFO(tbbisize,8,0,0,0,1,0,0,"string",127))
Second, change that button (now separator) size:
MSG (TB_SETBUTTONINFO,2, TBBUTTONINFO(tbbisize,64,0,0,0,0,40,0,"string",127))
Compare with native comctl behavior.