Toolbar Upgrade

Guy L. Albertelli galberte at neo.lrun.com
Sun Aug 12 18:34:28 CDT 2001


Toolbar is now a little better than before. Basicly what should be
"transparent" now is transparent. There is still a lot of problems:

1. From the previous list only the TBSTYLE_CUSTOMERASE and "transparent"
issues are fixed.
2. There is known bad code here (see area enclosed by "#if 1"). This is due
to some problems with WM_MOUSELEAVE either not being sent or not being
processed correctly. Sometimes buttons are raised (hot) and never lowered
again. The parent is responsible for clearing that area via WM_ERASEBKGND.
3. If you use the ControlSpy test program and create a TBSTYLE_LIST without
TBSTYLE_FLAT then the output is significantly different.

Changelog:
 Guy Albertelli  <<galberte at neo.lrun.com>>

  dlls/comctl32/toolbar.c
   - Implement TBSTYLE_FLAT as "transparent" toolbar and buttons. (Skip
FillRect and BF_MIDDLE on _FLAT toolbars.)
   - Issue FIXMEs for unsupported styles.
   - If the "hidden" state has changed then recalc the buttons.
   - Support TBSTYLE_CUSTOMERASE (used by IE4) ans issue some of the
necessary NM_CUSTOMDRAW notifies.
   - Pass the WM_ERASEBKGND to parent if the toolbar is "transparent".
   - Invalidate the area 1 bigger than the button rect on a WM_MOUSELEAVE so
that the edge is "erased" by the parent.
   - Support the PGN_CALCSIZE notify since a toolbar can be a child of the
Pager control.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: toolbar5.diff
Type: application/octet-stream
Size: 10429 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20010812/7044cbc9/toolbar5.obj


More information about the wine-patches mailing list