- Fix nButtonHeight so that it is not zero in some cases
- Support TBSTYLE_TRANSPARENT.
- Fix handling in WM_ERASEBKGND so that the default erase occurs
between notifies.
- Fix WM_NCCREATE processing to issue proper WM_STYLECHANGING (via
SetWindowLong) and document the issues.
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.
message.
- Organize WM_NOTIFY processing in preparation for Unicode
- Implement TBN_GETDISPINFO and I_IMAGECALLBACK for bitmaps.
- Implement drawing of separator for TBSTYLE_DROPDOWN similar to native.
- Change drawing of buttons to support TBSTYLE_LIST and make match
native pixel layout (with and without bitmaps).
- Change TOOLBAR_MeasureString to measure with DrawText like native.
This eliminates extra space due to prefix char ("&").
- Speed up TOOLBAR_CalcStrings by doing the HDC and FONT selection once.
- Change calc of buttons to match drawing for TBSTYLE_LIST and
separators.
height (fixes overlap of image and text in IE4).
- Handle return codes from TBN_DROPDOWN (allows a "dropdown" to be
treated like a regular button).
- Implement TBN_BEGINDRAG and TBN_ENDDRAG in WM_LBUTTON{DOWN|UP} (not
necessary but done by native).
- Implement NM_RELEASEDCAPTURE and NM_CLICK.
visible with WinZip and CuteFTP 4.0. Fixed compile warnings from format type
specifiers in two TRACE's. Removed TRACE in TOOLBAR_GetItemRect(). Added
button width to TRACE in TOOLBAR_CalcToolbar().
determine whether we need to call InvalidateRect() with bErase of TRUE or
FALSE. Reduces background erases in non-text toolbars by 80-85%.
- Fixed button state not being updated properly when LBUTTONDOWN and cursor
leaves the toolbar.
- Removed FIXME() in TOOLBAR_DrawString for btnPtr->iString == -1, replaced
with a source code comment.
- Removed unecessary call to TOOLBAR_CalcToolbar() in
TOOLBAR_GetItemRect(). Optimized TOOLBAR_CalcStrings(). Fixes very
slow responding toolbars in Ultraedit due to processing TB_GETITEMRECT
messages.
- Optimized TOOLBAR_SetIntent(), SetRows() and SetStyle().
RedrawWindow was being used for the RDW_UPDATENOW flag which forced an
immediate WM_PAINT message. Moving to InvalidateRect should let
WM_PAINTs occur normally.
TOOLBAR_MouseMove() only if hot effect applies to the current hot
button. Restore bHot flag of hot button in TOOLBAR_LButtonUp() to
restore hot effect properly.