Commit Graph

278 Commits

Author SHA1 Message Date
Krzysztof Foltman 364c3aa449 Separators with group style set don't separate toolbar radio groups
anymore (which broke tool selection in Front Panel Designer).
2005-10-21 15:45:11 +00:00
Robert Shearman 2c6ab0dba5 - Add support for navigating a toolbar with the arrow keys.
- Fix WrapToolbar in the case of no parent window.
- Use the newly added NMTBINITCUSTOMIZE for sending the
  TBN_INITCUSTOMIZE so that it is safe on 64-bit platforms.
2005-09-14 19:16:03 +00:00
Marcus Meissner bd7ec9aca5 The last argument to MultiByteToWideChar is wide character count and
not the buffer size in bytes. Fixed all places where it was wrong.
2005-09-12 22:07:53 +00:00
Frank Richter 9e57091ffa Fix warnings in 64bit. 2005-08-30 10:07:17 +00:00
Yuri Kozlov dc21c5e45a Set default size for toolbar bitmap if not specified. 2005-08-29 09:39:04 +00:00
Frank Richter 464f562a3a Add theming for toolbar control. 2005-08-12 11:17:14 +00:00
Robert Shearman 3e03bc1d73 - Call SetBkMode with the correct value from the NMTBCUSTOMDRAW
structure.
- Don't fill the NMTBCUSTOMDRAW structure in again for
  CDDS_POSTPAINT.
- Remove redundant bBtnTransprnt value.
2005-07-22 19:57:44 +00:00
Robert Shearman 87dacfffc2 - Height is now calculated based on the number of rows, not on the
bounding rect.
- Only call CalcToolbar in AutoSize if it has TBSTYLE_WRAPABLE or
  TBSTYLE_EX_UNDOC1 set.
- Remove a bad test in SetButtonWidth that fixes a regression from the
  above change in IE.
- Remove unnecessary nHeight data.
- Remove duplicated code in Size by calling AutoSize.
- Remove unnecessary bAutoSize value because SetWindowPos doesn't
  generate WM_SIZE when there is nothing to do on both Windows and
  Wine.
2005-07-22 19:55:54 +00:00
Robert Shearman 05f2506c06 TBSTATE_INDETERMINATE only takes effect if the button is enabled,
otherwise it should just appear like any other disabled button.
2005-07-22 19:54:17 +00:00
Robert Shearman 481d189508 Native autosizes on inserting/adding buttons, so we should too. 2005-07-22 19:52:05 +00:00
Robert Shearman 8b086842c3 The IsValidImageList test is not needed because if it isn't a valid
image list we will have set the bitmap width and height to 1 and it
does the wrong thing when no buttons are present.
2005-07-22 19:48:07 +00:00
Robert Shearman 2e0a42ec2c The calculated button height should include the text height when no
buttons are present.
2005-07-22 18:28:46 +00:00
Aric Stewart cd6fd67dcb When adding an image copy the full previous buffer.
Implement replacing an icon with one from a resource.
2005-07-15 09:57:21 +00:00
Robert Shearman 389f9d55d9 - Document how the native lays out the internal components of
buttons.
- Fix control to follow these rules.
- Don't redraw disabled buttons.
- Padding is never less that GetSystemMetrics(SM_{CX,CY}EDGE).
- Change default iListGap value to 4 to match native.
2005-06-25 17:55:40 +00:00
Francois Gouget f5c9da6860 Assorted spelling fixes. 2005-05-06 15:44:31 +00:00
Robert Shearman a3b4e20503 Fix TB_GETBUTTONSIZE to return the correct width/height for no
buttons.
2005-04-15 14:09:05 +00:00
Dimitrie O. Paun 8df71a6cfa Use {Alloc,ReAlloc,Free}() instead of Heap{Alloc,ReAlloc,Free}(). 2005-03-25 20:49:00 +00:00
Dimitrie O. Paun ecc850c460 Fix a memory leak in toolbar. Avoid casts. 2005-03-25 10:27:00 +00:00
Dimitrie O. Paun e912c6a931 Complete unicodification of the toolbar common control.
Move a header comment for consistency with the other controls.
Very small alignment fixes.
2005-03-23 10:24:06 +00:00
Thomas Weidenmueller e8e42e4614 When a toolbar doesn't have the TBSTYLE_FLAT style redrawing the
buttons when moving the mouse is not necessary.
2005-01-28 17:19:29 +00:00
Francois Gouget da8b3dd7f2 Assorted spelling fixes. 2005-01-26 21:09:04 +00:00
Tinus aee4f25ed6 Properly allow removing toolbar bitmaps by changing it into 0. 2005-01-24 18:59:13 +00:00
Eric Pouech cf1d00bb08 Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
2005-01-09 16:42:53 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Robert Shearman d7dd3e37c8 Store the new style before redrawing and repositioning the control. 2004-11-30 17:28:10 +00:00
Robert Shearman b98b7dd65d - Set cache bitmap dimensions correctly when a 0x0 image list is used.
- Optimize WM_STYLECHANGED handler to only redraw when a CCS_* style
  is changed, like native.
2004-11-10 01:30:47 +00:00
Robert Shearman a9b1aa28b3 - bNtfUnicode is a dup' of bUnicode so remove it and fix the few
places where it was used.
- Remove a load of useless NULL infoPtr checks.
- Hardcode the default padding like native instead of using a wacky formula.
- Replace some tabs with spaces and remove NMHDR casts.
2004-11-08 22:17:02 +00:00
Robert Shearman 75314f474f Implement TBN_RESTORE notification. 2004-11-06 03:45:38 +00:00
Dmitry Timoshkov 99a6afcd6c Do not retrieve infoPtr twice in ToolbarWindowProc entry. 2004-11-01 21:07:43 +00:00
Robert Shearman e0f1444d4e - Don't fill in any more information than native does for notifications.
- Store hit code in a signed integer so that we can see whether it is
  less than zero.
2004-10-25 21:45:14 +00:00
Thorsten Kani c0a142ccee Don't add extra OFFSET_X/Y to the calculation of rcBitmap.top/left,
just use GetSystemMetrics.
2004-10-21 20:58:43 +00:00
Robert Shearman 18f0bf732d - Draw with ILD_TRANSPARENT instead of ILD_NORMAL to draw bitmaps from
the native shell image list properly (reported by Thorsten Kani).
- Rewrite TOOLBAR_NotifyFormat to avoid side-effects.
2004-10-21 19:52:16 +00:00
Robert Shearman a16223e302 - TBN_DELETINGBUTTON sends the command ID, not the index.
- Fill in tbButton structure for TBN_DELETINGBUTTON notification.
- Document TBN_QUERY* sending indices.
2004-10-18 19:39:22 +00:00
Filip Navara b6153a1165 Add note about unimplemented TB_SAVERESTORE message. 2004-09-23 22:51:14 +00:00
Robert Shearman 56b9d3c739 - Fix some TRACEs
- More A->W conversions missed by previous patch.
- Fix off-by-one error in validating drag-n-drop from available
  buttons list box to actual buttons list box.
- Unicode flag should be based on the notification window.
2004-09-20 19:10:05 +00:00
Robert Shearman defcfc85db Use Unicode window messages. 2004-09-16 19:06:12 +00:00
Robert Shearman d087c578b6 - Make customization list boxes into drag list boxes.
- Order available buttons in the same way as the native version.
2004-09-14 01:06:30 +00:00
Robert Shearman 8f870346cb - Obey TBCDRF_NOOFFSET for the button text.
- Make anchor highlighting behave more like native version.
- Don't recalculate toolbar in TOOLBAR_Unkwn460.
- Obey WM_SETREDRAW for the WM_ERASEBKGND message as well as
  WM_PAINT.
2004-09-06 21:26:25 +00:00
Hans Leidekker 411fc5f164 Fix signed/unsigned comparison warnings. 2004-09-02 23:00:53 +00:00
Robert Shearman 4d7892f886 TB_MARKITEM should redraw button. 2004-08-30 18:36:55 +00:00
Robert Shearman b18e158636 - Send NM_LDOWN notification.
- NM_RDBLCLK only needs to send a NMHDR structure.
- On mouse notifications returning 0 DefWndProc should be called.
2004-08-25 02:16:32 +00:00
Robert Shearman f1ae41c7eb Fix regression with IE's Menu Bar. 2004-08-24 18:41:27 +00:00
Robert Shearman 4c1438a70e - Implement insert marks.
- Rearrange TOOLBAR_INFO.
2004-08-19 19:58:49 +00:00
Robert Shearman 9a7cda1048 - Fix anchor highlighting.
- Remove redundant test in TOOLBAR_DrawButton.
2004-08-19 19:02:59 +00:00
Filip Navara 1076286020 Fix TOOLBAR_DrawMasked to correctly use image list mask. 2004-08-09 23:37:54 +00:00
Filip Navara cbe79616bd Use system metrics values in TOOLBAR_DrawPattern instead of hardcoded
values.
2004-07-19 19:32:16 +00:00
Filip Navara 6a9cc38d9e Make the pattern drawing in TOOLBAR_DrawPattern look better. 2004-07-16 23:20:55 +00:00
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