- Implemented NM_CUSTOMDRAW notifications for the ITEMPREPAINT and
ITEMPOSTPAINT only. (Used by IE4 - go figure.)
- Invalidate window rectangles after certain RB_ messages like the
native. Fixed some painting problems.
- Added UpdateWindow call in _MoveChildWindows to fix other painting
problems.
- Set the Caption Font as the default font for all bands.
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.
- Allow WM_WINDOWPOSCHANGING when the control is size 0 to set initial
size.
- Combine multiple SetWindowPos calls in same processing line and make
the flags like native.
- Redo WM_NCCALCSIZE to match native.
- Since Pager is a "transparent" control (except for its own buttons),
the WM_ERASEBKGND needs to be passed to the parent. Also do the window
offset like the native control does.
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.
- Correct implementation of WM_SETREDRAW to be closer to native.
- Do more implementation of RBS_AUTOSIZE in the WM_SIZE processor.
- Implement RBBS_VARIABLEHEIGHT. Used by IE4.
- Do more testing in WM_SIZE to handle strange cases like native.
styles WS_VISIBLE and CCS_TOP.
- Implement messages WM_NCHITTEST, WM_STYLECHANGED, RB_MOVEBAND,
RB_MINIMIZEBAND.
- Improve preformance by removing calls to GetWindowLong for GWL_STYLE
(by saving state and handling WM_STYLECHANGED).
- Cleanup and remove dead and test code.
notify formats.
- Move the drawing of the band backgrounds and band separators to the
WM_ERASEBKGND processing just the way the native controls do.
- Implement WM_SETREDRAW.
matches native.
- major redesign of band layout, now comes a lot closer to native for
the test programs.
- support RBS_VARHEIGHT for both on and off.
- better debug info, and performance improvement
and use SetWindowPos instead for one of the MoveWindow()s
- call STATUSBAR_GetInfoPtr *once* like Windows does, not twice (used to be
in every sub function, too)
- remember hwndParent from create struct to use in at least WM_CREATE and
WM_SIZE instead of GetParent() like in Windows
- added DefWindowProc call to WM_SIZE like in Windows
- added InvalidateRect, UpdateWindow to WM_CREATE like in Windows
- much more verbose +statusbar output
- rename part_num to nPart for consistency
- added nclm.cbSize to SystemParametersInfoA call
- added FIXME to STATUSBAR_SetParts