Commit Graph

376 Commits

Author SHA1 Message Date
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
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
Eric Kohl 81e314b14f - added version messages and some simple get/set messages.
- added unicode messages
1999-11-23 22:33:41 +00:00
Eric Pouech d183e4ac8c Added undocumented feature to InsertButtonA.
Added dropdown button support.
1999-11-21 00:52:26 +00:00
Juergen Schmied 56403478c7 - unified templates for the open and the save dlg
- replaced buttons with a toolbar
1999-11-07 22:41:05 +00:00
Eric Pouech 805e58108e Added WM_GETFONT support. 1999-10-23 14:17:36 +00:00
Patrik Stridvall 26ffb3cd76 Fixed/added missing/wrong function prototypes and made internal
functions static.
1999-07-31 14:41:43 +00:00