Commit Graph

210 Commits

Author SHA1 Message Date
Robert Shearman cc08578577 - Support custom check background.
- Reduce number of parameters needed for DrawString function.
2004-03-03 05:26:01 +00:00
Huw Davies 9af2de85ea If TBSTYLE_EX_HIDECLIPPEDBUTTONS is set then invalidate the area that
changes in a resize.
Don't call SWP unless we're actually adjusting anything.
2004-02-20 19:56:52 +00:00
Robert Shearman 41596e8031 - Fix some traces.
- The TBM_GET*HOTLIST functions take imagelist ID in wParam.
- Implement TBM_GETSTRING{A,W}.
- Implement undocumented 0x462 message.
2004-02-17 20:28:19 +00:00
Huw Davies 951b0a2271 Only redraw button in PressButton and Indeterminate if its state has
changed.
2004-02-11 05:26:30 +00:00
Huw Davies e722167e0d Honour TB_SETMAXTEXTROWS. 2004-02-11 04:02:29 +00:00
Ulrich Czekalla 54b6ccd501 Add support for BTNS_WHOLEDROPDOWN.
Populate button rect when sending TBN_DROPDOWN.
2004-02-10 20:08:45 +00:00
Dmitry Timoshkov e6f01981fc Add partial support for some undocumented toolbar messages. 2004-02-10 01:34:47 +00:00
Huw Davies a1edb9204f TB_ADDBUTTONS can pass a string ptr instead of an index.
TB_GETBUTTONINFO only returns a string if it's not in the internal
string list.
2004-02-09 21:47:01 +00:00
Huw Davies 89ef25e218 Use the BTNS_* toolbar button style defines rather than the outdated
TBSTYLE_*.
2004-02-09 21:01:10 +00:00
Huw Davies 6b27cde3a2 Add a missing return. 2004-02-07 01:28:10 +00:00
Jon Griffiths ed39e7c039 Draw disabled toolbar buttons correctly. 2004-02-03 00:08:34 +00:00
Ge van Geldorp adeaa30555 Discard mouse button up events if no button is currently pressed. 2004-01-23 20:46:47 +00:00
Robert Shearman 7d6afc5ddc - Add support for TBSTYLE_EX_MIXEDBUTTONS.
- Add support for TBSTYLE_EX_HIDECLIPPEDBUTTONS.
- Replace 'magic numbers' with #define'd constants.
- Fix TBN_INITCUSTOMIZE.
- Add support for TBN_CUSTHELP and TBN_RESET.
- Fix TB_SETEXTENDEDSTYLE (it appears it should or the new style,
  rather than set).
- Fix TB_SETSTYLE (this is meant to be for setting the control style,
  not the button style).
2003-11-26 22:05:02 +00:00
Rein Klazes 8ba9b5fc7e Use button face color for the image mask when adding a bitmap to the
toolbar, not the color of the top left pixel of the image.
2003-11-25 01:45:50 +00:00
Rein Klazes 7f7cde0eee Fix some confusion between number of bitmaps and number of buttons in
TOOLBAR_ReplaceBitmap().
2003-11-21 21:30:48 +00:00
Dimitrie O. Paun c594043316 Make the controls send notifications to the parent window passed to
them in CREATESTRUCT.  Based on a treeview patch by Igor Grahek.
2003-11-20 22:04:13 +00:00
Rein Klazes 56121b7161 Correctly place a toolbar with CCS_BOTTOM style at the bottom, not the
top.
2003-11-05 00:35:28 +00:00
Robert Shearman 90f3057b41 - Use the style returned in custom draw structure to draw the button,
as apps may modify the style this way.
- Disabled buttons can become hot.
- Retrieve image list for drawing after getting image list ID (in
  I_IMAGECALLBACK case).
2003-10-31 00:08:39 +00:00
Francois Gouget f405629e8e Weekly spelling fixes. 2003-10-28 21:45:30 +00:00
Dimitrie O. Paun 7de279a73a Rename COMCTL32_{Alloc,ReAlloc,Free} to {Alloc,ReAlloc,Free}. 2003-09-22 21:32:33 +00:00
Alexandre Julliard f5cb3dde17 Moved undocumented functions out of the exported commctrl.h. 2003-09-17 20:15:21 +00:00
Robert Shearman d973bfb1c1 - Make sure dropdown arrow is always centered.
- Add support for the TBNRF_HIDEHELP customization flag, but emit a
  FIXME when it isn't present.
2003-09-12 00:21:57 +00:00
Alexandre Julliard cf52644a1c Removed the A/W constants for builtin cursors, icons and resource
types since they don't exist on Windows, and added typecasts
everywhere instead.
2003-09-10 03:56:47 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Duane Clark 78cd28793a Button width should be the larger of text width/bitmap width. 2003-08-27 23:11:35 +00:00
Francois Gouget c5f775a9c7 Typos/spelling fixes. 2003-06-18 03:30:39 +00:00
Robert Shearman 7614f27f3b - Make button text centre correctly when dropdown arrow is present
- Centre dropdown arrow
2003-06-13 16:30:24 +00:00
Vitaliy Margolen d8d12a0bca Revert change for resizing buttons. 2003-05-13 23:38:01 +00:00
Vitaliy Margolen 32eb1c7354 Get rid of direct ImageList access hacks. 2003-05-13 03:36:54 +00:00
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