344 Commits

Author SHA1 Message Date
Guy L. Albertelli
f876b5df5a - Fix positioning of text in buttons.
- 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.
2001-09-07 15:29:21 +00:00
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