Commit Graph

181 Commits

Author SHA1 Message Date
Adam Gundy 9e3772f699 Zero initialize the reserved bytes in the toolbar details returned by
TOOLBAR_GetButton().
2003-04-02 23:19:45 +00:00
Adam Gundy a4944ff123 TOOLBAR_AddBitmap() and TOOLBAR_ReplaceBitmap() are not supposed to
modify the bitmap - we call ImageList_AddMasked() which turns all
masked pixels black. Fixed by making a copy of the bitmap to give to
ImageList_AddMasked().
2003-03-07 23:02:46 +00:00
Dan Kegel 0fd521fee3 Change RECT to use LONG to match win32 standard headers and fix format
strings to use %ld for RECT elements.
2003-01-08 21:09:25 +00:00
Francois Gouget d2667a4ce3 Removed unnecessary HANDLE typecasts. 2002-12-02 18:10:57 +00:00
Ulrich Czekalla fbf98737d2 - Add support for multiple image lists.
- Add TBN_INITCUSTOMIZE notification.
- Correctly populate TBN_QUERYDELETE.
- Support TBN_GETBUTTONINFOW.
2002-11-13 21:21:03 +00:00
Dmitry Timoshkov 601a3abec1 Fix some types and function prototypes according to Platform SDK
definitions.
2002-10-31 01:04:39 +00:00
Carlos 5803819971 lParam was not properly sent in TTM_ADDTOOLW. 2002-10-28 18:50:36 +00:00
Michael Stefaniuc 353529b2c8 - fix the "int format, HANDLE arg" type of warnings for comctl32
- compile the comctl32 dll with -DSTRICT
2002-10-23 22:19:10 +00:00
Michael Stefaniuc f3d1893f80 Add needed casts for a "no warnings" compile of comctl32. 2002-10-23 20:19:22 +00:00
Duane Clark d126f4768c Correct the behavior for disabled toolbar buttons. 2002-10-21 18:19:02 +00:00
Michael Stefaniuc 025c0b716b Prepare dlls/{comctl32,gdi,msvideo,setupapi,shell32,twain,winmm} for
the conversion of HWND to a void*.
2002-09-06 19:41:17 +00:00
Guy L. Albertelli 23739a339a Don't issue error message if message number in application range. 2002-07-16 01:23:59 +00:00
François Gouget 9e82510ec8 Fix handling of strings that do not finish with "||".
Fix the indentation of the while loop in TOOLBAR_AddStringW.
2002-06-13 22:04:45 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard 4344c368cb Got rid of GetSysColorPen. 2002-05-20 18:15:28 +00:00
Guy L. Albertelli f8acf0c440 Support PGN_SCROLL notify and return either the button heigth or width. 2002-05-14 03:50:23 +00:00
Marco Bizzarri f596eceb22 Implemented the TB_REPLACEBITMAP message. 2002-04-29 23:32:07 +00:00
Guy L. Albertelli 14a913c28d - Improve I_IMAGECALLBACK handling and support I_IMAGENONE.
- Implement TBN_HOTITEMCHANGE in the mouse move routine.
2002-04-24 21:22:17 +00:00
Guy L. Albertelli fc4524d822 Implement NM_CUSTOMDRAW notification. 2002-04-14 19:30:58 +00:00
Guy L. Albertelli ffa48e0416 - Use the new comctl32 color array for the colors. Provides better
support for the TB_SETCOLORSCHEME.
- Do some optimizations.
- Correct computation of nHeight and PGN_CALCSIZE.
- Implement the undocumented 045E message.
2002-04-05 21:15:06 +00:00
Guy L. Albertelli 2cb7c3a472 - Implement CCM_{GET|SET}COLORSCHEME.
- Implement WM_NOTIFYFORMAT and correct passing WM_NOTIFY with correct
  message call.
- Ignore PGM_FORWARDMOUSE like native.
2002-03-22 19:11:38 +00:00
Bill Medland f12f4d7d0c No need for the fixme on a simple TBSTYLE_SEP. 2002-03-20 22:49:44 +00:00
Duane Clark 874e14c57e TOOLBAR_LButtonUp should work even if ReleaseCapture was already
called.
2002-03-19 02:11:03 +00:00
Guy L. Albertelli 68c7b55e1f - Add scaffolding for TB_{GET|SET}PADDING.
- Replace wrong test for CCS_VERT with correct test for undocumented
  TBSTYLE_EX_ style 0x04.
- Add support for undocumented TB_SETBUTTONSIZE where the size is
  zero, sets to default value.
- Issue FIXMEs for unsupported extended styles.
- Implement first try at undocumented toolbar message 0x0463.
2002-03-11 01:11:19 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Guy L. Albertelli b2f0a6f5e9 - Support CCS_VERT as alternative for TBSTYLE_WRAPABLE.
- TB_INSERTBUTTONW was not as functional as the 'A' version. They now
  match.
2002-02-27 01:22:58 +00:00
Charles Duffy 6a45c0b4b4 Stop TOOLBAR_MeasureString from dying on empty strings. 2002-02-26 00:34:19 +00:00
Guy L. Albertelli d3a52c2890 When the commandID was being treated as the index, no check for index
greater than number of buttons was done. Now fixed.
2002-02-12 18:43:56 +00:00
Guy Albertelli bb2eab5f79 - better trace output
- support string sent in by address, rather then index
- add FIXMEs for multiple image lists
- protect agains inexistent buttons
- call up to the DefWindowProc when erasing bkgnd when appropriate
2002-01-31 20:49:10 +00:00
Uwe Bonnes e0ab2b7f2a Consistent usage of istring, use STR_[Get|Set]Ptr where appropriate. 2002-01-22 00:51:16 +00:00
Guy Albertelli 404b9a5fb9 - Add additional TOOLBAR_CalcToolbar in a different path of Autosize.
- Remember and process WM_SETREDRAW messages.
- Process strings specificied in InsertButton{A|W}.
2002-01-14 18:33:17 +00:00
Huw D M Davies 3d683d5aef Fix off by one error in TOOLBAR_AddStringW. 2002-01-12 21:14:17 +00:00
Sander van Leeuwen fcc148b283 Never delete the font object received by WM_SETFONT. 2002-01-04 21:50:01 +00:00
Dave Hawkes a1aeeb2b05 Fix for toolbar potentially using a NULL pointer. 2001-12-11 00:14:24 +00:00
Dave Hawkes 4d03cb64f4 The toolbar commands were not sent to the correct notification
window.
2001-12-05 22:10:26 +00:00
Guy L. Albertelli 0889bfa503 Undocumented feature of TB_{GET|SET}BUTTONINFO{A|W}: if mask has
0x80000000 set then the command id is really the index.
2001-12-01 00:37:41 +00:00
Dave Hawkes 73f58ee2c7 TOOLBAR_GetRect did not correctly translate the command ID to the
button index.
2001-11-20 18:54:04 +00:00
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
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
Aric Stewart cbf9395a66 Fixes the line of garbage at the bottom of images and the fact that
the buttons in the open dialog box where too tall.
2000-05-19 03:36:53 +00:00
Aric Stewart 035245c873 - Cleaned up some of the drawing code, specifically dealing with
avoiding trying to draw invalid bitmaps.
- Avoid directly calling drawing functions instead invalidating rects
  and relying on WM_PAINT.
- For the dropdown event check the button style as opposed to the
  toolbar style.
2000-05-10 21:40:49 +00:00
Chris Morgan 980afc9a3d Implemented TOOLBAR_MouseLeave to handle WM_MOUSELEAVE messages.
Added TrackMouseEvent calls to TOOLBAR_MouseMove.  Hot buttons now
look/behave almost exactly the same as native windows.
2000-04-28 14:45:44 +00:00
Martin Fuchs c37a639e33 Fixed toolbar bitmap size handling. 2000-04-24 17:34:42 +00:00
Alexandre Julliard 491bc7c751 Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>
Redraw toolbar button inside TOOLBAR_EnableButton() only if the state
of the button changes.  Stops flickering in toolbars caused by
excessive redrawing.
2000-04-23 19:56:07 +00:00
Martin Fuchs 1d20af694c Implement CCS_NOMOVEY for tool bars. 2000-04-15 20:38:11 +00:00
Niels Kristian Bech Jensen 4eb4380360 Removed superfluous #include statements for header files included twice. 2000-02-29 22:06:06 +00:00
Hidenori Takeshima 031aef9a91 Fix for toolbar button size. 2000-02-25 21:35:18 +00:00
Alexandre Julliard d711ad9e0a Removed superfluous GlobalFindAtom calls. 2000-02-13 15:10:16 +00:00
Jeremy White d3e22d9d55 Removed #include of wingdi.h and windef.h from winuser.h (and resolved
the resulting compilation failures).
2000-02-10 19:03:02 +00:00
Dave Pickles df66b90f12 Prevent a crash if messages are sent to a toolbar window before
WM_NCCREATE or after WM_DESTROY.
1999-11-28 20:14:49 +00:00
Eric Kohl 426e812ba0 Fixed some visual toolbar bugs. 1999-11-28 19:48:57 +00:00