Commit Graph

93 Commits

Author SHA1 Message Date
Guy L. Albertelli f617391dad - 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.
2001-08-13 20:09:18 +00:00
Guy L. Albertelli 9a1a35e489 - Add debugging dumps of bar and buttons, and trace entry for each
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.
2001-08-03 18:10:30 +00:00
Nog 111ec8d6c2 Don't enable the 'hot' state of a toolbar button when it's not
enabled.
2001-07-31 00:10:06 +00:00
Guy L. Albertelli 2435237537 - On TB_SETIMAGELIST retrieve new values of the bitmap width and
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.
2001-07-26 20:07:23 +00:00
Guy L. Albertelli ca5757f8c5 - Recalc the toolbar size on TB_SETBUTTONSIZE in certain conditions.
- Add trace to show the paint rectangle prior to refreshing.
2001-07-20 17:58:27 +00:00
Gerard Patel 5aa9754c6a Refresh bitmap count to take in account imagelist changes after
TB_SETIMAGELIST.
2001-07-17 00:39:15 +00:00
Mike McCormack aa62953b31 Fix button text placement for disabled buttons (see Winzip 8.0). 2001-07-02 17:58:31 +00:00
Guy L. Albertelli 0d0cc390c3 Fixed test so 0xffffffff is properly recognized. 2001-06-24 00:21:40 +00:00
Francois Gouget b412b3ccbe TOOLBAR_InsertButtonA: If iString==-1 then don't use it as a pointer. 2001-05-31 21:33:55 +00:00
Francois Gouget 282f7270c1 Small 'typos in comments' fixes. 2001-02-28 05:31:02 +00:00
Eric Kohl 66eedb5ae6 Fixed behaviour of dropdown buttons. When a dropdown button is
clicked, it does not change into pressed state.
2001-02-20 00:48:37 +00:00
François Gouget d9280fed84 TB_SETBUTTONSIZE messages must be taken into account even after
buttons have been added.
2001-02-16 19:38:32 +00:00
Aric Stewart 826465dc22 Setting the HotItem to -1 can be disastrous at times if it equals
oldhit.
2001-02-16 19:06:34 +00:00
Aric Stewart 40a38f7f9a Continued the implementation of Set Hot Item. 2001-02-15 21:25:03 +00:00
François Gouget b99367e20e debugstr_xxx already does the quoting. 2001-02-14 21:42:10 +00:00
James Abbatiello 841ef6ebb9 Don't allow comctl32 controls to access their infoPtr before it has
been  allocated or after it has been freed.
2001-02-12 03:42:23 +00:00
Ulrich Czekalla 8b562997d5 Only call TOOLBAR_CalcToolbar when parameters change. 2001-01-10 22:42:05 +00:00
Andreas Mohr bc2ae78bee Invalid buttons are "hidden". 2000-12-13 01:49:51 +00:00
Alexandre Julliard 24a62ab9b0 Got rid of the Wine internal lstrcpy* functions and of winestring.h. 2000-11-28 22:40:56 +00:00
Eric Kohl 7379b89185 Removed calls to internal (non-exported) wine functions. 2000-11-25 01:27:42 +00:00
Eric Kohl ea9d4ce246 Implemented toolbar customization dialog. 2000-11-07 20:30:11 +00:00
Marcus Meissner c536a4a6d3 Swap CalcToolbar and paint rectangle computation to the correct order. 2000-11-02 20:07:25 +00:00
Marcus Meissner 697a621a7c Removed unnecessary calls of TOOLBAR_CalcToolbar() (which would be
recalculated due to InvalidateRect()->WM_PAINT anyway).
2000-11-01 01:49:01 +00:00
Chris Morgan 4a49c8f080 Fix depressed state with flat toolbars so pressing the buttons draws
the button in a depressed state.  Fix bitmap offsets, fixes bitmap
offset problems in file common dialog.
2000-10-12 23:11:35 +00:00
Francois Gouget 88ebde86d7 Modified the bitmap centering algorithm to take the button's border
into account.
2000-09-29 00:56:52 +00:00
Susan Farley ced43b914d Call ReleaseCapture (which triggers WM_CAPTURECHANGED) after the
WM_COMMAND for the button has been sent, rather than before.
2000-09-29 00:24:54 +00:00
Susan Farley 0fc9d151fd Support for TBSTYLE_EX_DRAWDDARROWS style; reset capture and button
pressed flags on WM_CAPTURECHANGED.
2000-09-26 22:45:31 +00:00
Alexandre Julliard 072dfb57e3 Removed inclusion of wine/winestring.h from winbase.h and added it to
the C files that need it.
2000-09-25 23:30:56 +00:00
Francois Gouget 17acdf26af The size of the comctl32 internal bitmaps is 24x24 not 26x26.
Fixed minor typos.
2000-09-24 03:03:22 +00:00
Chris Morgan 3c72f96469 Fixed button image to be offset to the center of the button horizontally,
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().
2000-09-22 20:49:54 +00:00
Chris Morgan 7b7c32c801 Change FIXME("Button size set after button in toolbar\n") in
SetButtonSize() to WARN as quite a few applications are doing this
after adding each button to the toolbar and there is no way we can
stop them.
2000-09-18 01:41:50 +00:00
Chris Morgan 9f5a8b00c0 - Added a helper function TOOLBAR_GetText() and macro TOOLBAR_HasText() to
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().
2000-08-18 23:42:03 +00:00
Alexandre Julliard c7e7df8b17 Replaced all lstr* calls from inside Wine code by their str* equivalent. 2000-08-14 14:41:19 +00:00
Alexandre Julliard 70c9e095ef Removed all non-standard common control headers from the include
directory.
2000-08-09 00:41:17 +00:00
Chris Morgan 5c66684850 Converted all calls to RedrawWindow to InvalidateRect. Previously
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.
2000-08-06 03:36:09 +00:00
David Elliott 17b341270a - Changed the temporary buffer for loading resources from 256 to 512
- Define MAX_RESOURCE_STRING_LENGTH instead of using it magically throughout
  the function
- Use lstrcpynW instead of lstrcpyW
2000-07-23 13:31:41 +00:00
Rob Farnum e63a40ee96 Ignore iBitmap width when drawing flat toolbar. 2000-07-15 19:45:43 +00:00
Chris Morgan a319a9784e Fixed TOOLBAR_DrawString() to offset button text if infoPtr->himlDef
is non-zero.  Better fix than my previous patch.
2000-07-11 22:03:44 +00:00
Chris Morgan 6647ef4d71 Fixed TOOLBAR_DrawString() to offset button text if the himl parameter
is non-zero or the default himl, himlDef, is non-zero.  Fixes a bug in
WinZip 8.0 where text is not shifted down by the height of the button
image.
2000-07-08 18:27:44 +00:00
Gerard Patel 19cef6ca10 Allow the size of bitmaps to be changed after toolbar buttons have
been added.
2000-07-08 12:48:37 +00:00
Mike McCormack 4b4e978106 Add workarounds for null strings in TOOLBAR_InsertButtonA and calling
TOOLBAR_SetButtonSize after button added to the toolbar (latter for
WINZIP32.EXE)
2000-06-25 12:48:41 +00:00
Dave Hawkes 5f5fb12420 Avoid gratuitously changing the ZORDER. 2000-06-23 16:53:52 +00:00
Patrik Stridvall a831f2a1e7 Fixed some warnings. 2000-06-11 20:03:17 +00:00
Aric Stewart d9ac53f15a Added handling of TBSTYLE_AUTOSIZE. 2000-06-07 03:14:12 +00:00
Uwe Bonnes cf50ffbf0a TOOLBAR_DrawString: catch index== -1 (but not yet handled). 2000-06-07 02:10:51 +00:00
Michael Cardenas c69c954783 Corrected a potential crash. 2000-06-04 01:46:27 +00:00
Eric Kohl 02746e8efe Started support for menubar-like toolbars. 2000-06-04 01:34:07 +00:00
Chris Morgan b70b26709f Use clipping regions to reduce the amount of processing performed when the
toolbar is repainting.  Reduces processing by approximately 85-95% in most
cases.
2000-05-25 23:01:20 +00:00
Chris Morgan 7030c5f78a Reduce toolbar redrawing and flicker by calling RedrawWindow() in
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.
2000-05-23 21:11:06 +00:00
Aric Stewart 9700b7fa55 Corrected a problem of when oldHit is negative and we try to use it as
an index into the buttons array.
2000-05-23 04:10:45 +00:00