Commit Graph

350 Commits

Author SHA1 Message Date
Zhiyi Zhang 8ce869f40b comctl32/treeview: Do not draw client edge without WS_EX_CLIENTEDGE.
Fix foobar2000 having an extra edge around tree view non-client size box.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 10:44:10 +01:00
Zhiyi Zhang e82d96ed5e comctl32/treeview: Use DFCS_MONO style for item check boxes.
Keep it consistent with Windows.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-07 11:01:19 +01:00
Zhiyi Zhang 35ed21d27a comctl32/treeview: Support HiDPI for unthemed item check boxes.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-07 11:01:14 +01:00
Nikolay Sivov 8806159bcd comctl32: Fix long types warnings in traces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-07 10:58:51 +01:00
Zhiyi Zhang 0209e51118 comctl32/treeview: Support themed check boxes for TVS_CHECKBOXES style.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 10:53:28 +01:00
Zhiyi Zhang 02bfec6419 comctl32/treeview: Draw parent background before drawing control parts.
Fix residual glyphs on background when drawing treeview buttons with themes that contains
transparent button glyphs.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-22 17:57:46 +02:00
Zhiyi Zhang 6576d461b8 comctl32: Repaint after the WM_THEMECHANGED message is received.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-28 09:40:22 +02:00
Zhiyi Zhang c1395d9255 comctl32: Remove unnecessary OffsetRect() calls.
Target rectangles are already offset by previous OffsetRect() calls.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 10:10:54 +01:00
Zhiyi Zhang a8502312c6 comctl32: Fix memory leaks.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 10:09:31 +01:00
Nikolay Sivov 564d5804b1 comctl32: Use wide-char string literals.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Damjan Jovanovic d558896fff comctl32: Allocate the right wstr size for the TVN_GETDISPINFOW reply.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=25264
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-26 22:49:03 +01:00
Damjan Jovanovic 80bd7fdd56 comctl32: Implement treeview edit control text trimming and overwriting.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 13:49:34 +01:00
Damjan Jovanovic 5e2e794ad6 comctl32: Implement treeview edit control EM_SETLIMITTEXT.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 13:49:00 +01:00
Gabriel Ivăncescu 3e1d8ab501 comctl32/treeview: Get rid of useless casts.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-14 10:26:25 +02:00
Alexandre Julliard e4e2e8e551 comctl32: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-29 11:38:38 +02:00
Marcus Meissner 7e0de24a75 comctl32: Treeview item gets characters not bytes passed in.
Signed-off-by: Marcus Meissner <meissner@suse.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-03 11:12:43 +02:00
Alistair Leslie-Hughes d6da1166ca comctl32/treeview: Fix item icon background when using TVS_FULLROWSELECT style.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-16 10:21:07 +02:00
Dan Bassi c5cb2f1c50 comctl32/treeview: Improve item text change detection.
Signed-off-by: Dan Bassi <wine.fixes@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-13 14:37:13 +02:00
Piotr Caban c195311c62 comctl32: Update all items rects in TREEVIEW_RecalculateVisibleOrder.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-06 15:46:48 -06:00
Nikolay Sivov db2a3b7028 comctl32: Use ARRAY_SIZE() macro.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 09:16:27 +01:00
Nikolay Sivov d886eda2e8 comctl32/treeview: Use HeapAlloc() wrappers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 14:42:37 +01:00
Nikolay Sivov b413a93793 comctl32/treeview: Fix tooltip window leak.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-01 22:24:55 +01:00
Hugh McMaster d6a6055bc9 comctl32: Improve right-click handling in treeview controls.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-13 09:08:49 +02:00
Huw Davies c7c8994f35 comctl32: Recompute the text width if necessary.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-06 15:02:35 +01:00
Huw Davies 3ed6ba579e comctl32: Set the text and bkgnd colours to the default before the item pre-paint notification.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-06 15:02:35 +01:00
Alistair Leslie-Hughes 6fdf492022 comtrl32/treeview: Display state value as hex.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-20 06:18:02 -07:00
Nikolay Sivov 382dc1ded8 comctl32/treeview: Fill full row for TVS_FULLROWSELECT style.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-22 23:05:22 +09:00
Nikolay Sivov af02e10828 comctl32/treeview: Fix item dragging and selection for TVS_FULLROWSELECT style.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 22:23:13 +09:00
Nikolay Sivov 0220d47c02 comctl32/treeview: Fix hot-tracking with TVS_FULLROWSELECT.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 18:42:14 +09:00
Nikolay Sivov 11beaf9978 comctl32/treeview: Handle WM_SYSKEYDOWN.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-27 12:42:56 +09:00
Nikolay Sivov d73d6b2093 comctl32/treeview: Set hot item when hovering over item, not entire row.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-26 10:53:47 +09:00
Joachim Priesner 71a4ac73e2 comctl32: Treeview: Set visible = TRUE when deleting first visible item.
This fixes a crash when deleting the first visible item if it has
visibleOrder < 0 and thus the ISVISIBLE macro returns false
(this happens when both insertion and deletion happened while
bRedraw == false).

Signed-off-by: Joachim Priesner <joachim.priesner@web.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-19 21:10:54 +09:00
Joachim Priesner 4c799937f6 comctl32: Treeview: Fix crash when deleting the first visible item while bRedraw == false.
Signed-off-by: Joachim Priesner <joachim.priesner@web.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 21:04:42 +09:00
Joachim Priesner f0b6584da6 comctl32: Fix comments explaining visibleOrder and firstVisible.
Hopefully this clears up the confusion between a) visible as in "all
ancestors are expanded" and b) visible as in "within the part of the
tree that is displayed on the screen".

Also, the claim that firstVisible has visible order 0 was false.

Signed-off-by: Joachim Priesner <joachim.priesner@web.de>
Signed-off-by: Nikolay Sivov<nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 17:53:38 +09:00
Nikolay Sivov 1d19eb15d4 comctl32: Item with negative cChildren acts as if it actually had children.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-24 00:25:04 +09:00
Nikolay Sivov 8d0f060f3b comctl32/treeview: Use consistent format for hex values in traces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-24 00:25:03 +09:00
Bruno Jesus 2f5c0b9321 comctl32: Respect an assert in TREEVIEW_RemoveAllChildren.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-24 00:25:02 +09:00
Nikolay Sivov 60fedd23f9 comctl32: Protect TVM_GETITEM from invalid item pointers.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-05 00:03:34 +09:00
Alex Henrie ad49634bbe comctl32: Send WM_NOTIFY when expanding ancestors of the new selection. 2015-05-18 19:59:27 +09:00
Alex Henrie 36297f2cb0 comctl32: Do not send WM_NOTIFY if selecting an already-selected item. 2015-05-18 19:59:27 +09:00
Alex Henrie a0ebe244c4 comctl32: Close previously selected treeview item at common ancestor.
Also, send WM_NOTIFY mesages when collapsing the previous selection and
expanding the new one.
2015-05-18 19:59:27 +09:00
Francois Gouget c04cc70f7d comctl32: Remove unneeded NONAMELESSSTRUCT directives. 2015-03-09 22:06:23 +09:00
Nikolay Sivov a7fb6c89b3 comctl32/treeview: Send TVN_KEYDOWN in response of WM_KEYDOWN. 2014-06-11 19:15:19 +02:00
Nikolay Sivov 3f8bda94fc comctl32/treeview: Simplify sending parent WM_NOTIFY notifications. 2014-06-11 19:15:18 +02:00
Nikolay Sivov a709e3f98d comctl32/treeview: Added a test for NM_RETURN. 2014-05-12 13:51:44 +02:00
Christoph von Wittich 4cc503d164 comctl32/treeview: Notify the parent on a return key press. 2014-05-07 18:57:31 +02:00
Nikolay Sivov fe3f12335d comctl32/treeview: Restore hdc before CDDS_ITEMPOSTPAINT. 2014-04-21 11:09:51 +02:00
Andrey Gusev be367393c9 Assorted typos fixes. 2014-01-13 17:37:42 +01:00
Piotr Caban 7b1ff882d1 comctl32: Initialize treeview checkboxes in WM_PAINT when TVS_CHECKBOXES was passed during control creation. 2013-10-31 18:24:25 +01:00
Piotr Caban 40648ddfd5 comctl32: Initialize himlState list in TREEVIEW_Paint when TVS_CHECKBOXES flag is set. 2013-10-31 18:24:23 +01:00