Commit Graph

231 Commits

Author SHA1 Message Date
Robert Shearman 5c5a0608e5 - Clean up the mask drawing code.
- Improve bitmap not found message.
2004-06-28 20:29:00 +00:00
Ulrich Czekalla 0178c1116b Handle case when item text is empty.
According to MSDN, length should be returned when lParam is NULL.
2004-06-02 21:34:05 +00:00
Robert Shearman b81934c2c7 Don't draw whole button pressed when separate dropdown pressed, just
the separate dropdown itself.
2004-06-02 00:36:00 +00:00
Robert Shearman 01a528817c - TBN_DRAGOUT and NM_RDBLCLK notifications.
- Remove unneeded member of private toolbar struct.
2004-05-18 00:44:47 +00:00
Maxime Bellengé 7c46a5eaa5 Add DT_END_ELLIPSIS as defaut style for text. 2004-05-12 23:03:03 +00:00
Maxime Bellengé 7507ad2ac5 Add NM_RCLICK notification support for toolbars. 2004-05-04 02:54:11 +00:00
Maxime Bellengé 199877a6d7 Fix the size of the listview items in the customize dialog. 2004-05-03 20:05:43 +00:00
Maxime Bellengé ee1c578017 Fix TB_GETSTYLE message to return the style of the toolbar and not the
style of a button.
2004-05-02 04:21:01 +00:00
Robert Shearman 9509912e41 - Optimise accessing toolbar style by storing it in the TOOLBAR_INFO
structure.
- Replace {Get,Set}WindowLong by {Get,Set}WindowLongPtr where
  appropriate.
2004-04-19 02:57:38 +00:00
Huw Davies 8e106f2f7b Fix dumb error from rev. 1.158. 2004-04-07 19:05:55 +00:00
Robert Shearman e2d6529d9c - Fix LButtonDown from previous change.
- Don't use BF_ADJUST flag for dropdown buttons.
- Fix LButtonDblClk.
2004-04-01 20:59:59 +00:00
Robert Shearman f92bb4b76a - Add cursor resource.
- Implement TB_MOVEBUTTON.
- Implement drag customise.
- Send TBN_TOOLBARCHANGE and TBN_DELETINGBUTTON.
2004-03-23 23:04:08 +00:00
Robert Shearman 838a1ea09d - Fix SetBitmapSize.
- Fix SetButtonInfo.
2004-03-18 04:01:02 +00:00
Robert Shearman a49b8a5eed - Documentation update.
- Better hot item handling.
- Fix DrawMasked to always use the right image list and bitmap index.
2004-03-17 20:46:57 +00:00
Robert Shearman 7d22cc16d9 - Document completeness.
- Finish tooltip support.
2004-03-15 20:20:01 +00:00
Robert Shearman 9eb33c82f3 - Honour WM_SETREDRAW.
- Fix all calls of InvalidateRect.
2004-03-15 20:06:33 +00:00
Robert Shearman 39689d715c - Implement TB_LOADIMAGES, TB_MAPACCELERATOR{A,W}, TB_MARKBUTTON and
undocumented message 0x460.
- Better debug output of undocumented message 0x45D.
2004-03-13 19:23:41 +00:00
Robert Shearman 23983b8f83 - Add support for a toolbar global iListGap.
- Make TOOLBAR_CalcToolbar and TOOLBAR_DrawButton not rely on "magic
  numbers" and calculate sizes and positions more like native.
2004-03-12 20:24:05 +00:00
Ge van Geldorp c11d8b00d6 Explicitly ask for image list with screen depth as ILC_COLOR can/will
limit the depth to 4bpp now.
2004-03-11 22:46:51 +00:00
Robert Shearman 90323a1b8a Rewrite drawing code. 2004-03-11 03:50:10 +00:00
Robert Shearman 490fbd84fb Don't allocate space for text when nMaxTextRows = 0. 2004-03-07 03:13:26 +00:00
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