Commit Graph

24 Commits (0aceab5884ec31f16e09b47f5363aa399e82892e)

Author SHA1 Message Date
Gabriel Ivăncescu 786a246aa6 comctl32/listbox: Fix mouse wheel scrolling for multi-column listboxes.
Multi-column listboxes scroll horizontally, so each wheel tick must go an
entire page at a time instead of an item at a time. But we have to limit
the amount of scrolling in this case to avoid "jumping over" columns,
if the window is too small.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22253
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
(cherry picked from commit 1f37875194)
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
2019-11-14 23:44:56 +01:00
Gabriel Ivăncescu ece6dfe52c comctl32/listbox: Store the items array size instead of using HeapSize().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-28 12:12:57 +01:00
Gabriel Ivăncescu 79bb84d20d comctl32/listbox: Account for NULL item when painting ownerdrawn list.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-23 12:52:36 +01:00
Nikolay Sivov 656f3f5b29 comctl32/listbox: Remove duplicated condition.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-23 12:52:34 +01:00
Nikolay Sivov a27db5169c comctl32/listbox: Use helper to test for selected state on painting.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-23 12:52:32 +01:00
Gabriel Ivăncescu 54ee4db69a comctl32/listbox: Use a helper function to check the selection state of an item.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-23 12:52:30 +01:00
Gabriel Ivăncescu 0b7dbc9e19 comctl32/listbox: Make LBS_NODATA listboxes error on any attempt to find a value.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 16:55:01 +01:00
Gabriel Ivăncescu 19f26c35d5 comctl32/listbox: Don't set any data for LBS_NODATA listboxes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 16:54:56 +01:00
Gabriel Ivăncescu 1b17d8c09a comctl32/listbox: Return 0 from LB_GETITEMDATA for LBS_NODATA listboxes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 16:54:53 +01:00
Gabriel Ivăncescu ebe99b92d4 comctl32/listbox: Always retrieve zeros in LB_GETTEXT for LBS_NODATA listboxes.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 16:54:47 +01:00
Gabriel Ivăncescu ac174f4cf4 comctl32/listbox: Use ULONG_PTR instead of DWORD when retrieving text without HAS_STRINGS.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 16:54:38 +01:00
Gabriel Ivăncescu 2aedcf3f8c comctl32/listbox: Make SetCount fail if LBS_NODATA is not set.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 20:54:28 +01:00
Gabriel Ivăncescu 8e13120c80 comctl32/listbox: Disable LBS_NODATA if styles are incompatible with it.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 20:54:27 +01:00
Gabriel Ivăncescu 2813b43aeb comctl32/listbox: Clear LBS_OWNERDRAWVARIABLE if LBS_OWNERDRAWFIXED is set.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 10:21:52 +01:00
Gabriel Ivăncescu bb116577a3 comctl32/listbox: Update the size in SetColumnWidth before calling UpdatePage.
Some applications don't forward WM_SIZE from DefWindowProc to the control,
but instead only send a LB_SETCOLUMNWIDTH message, even when the column
width doesn't change (but the listbox size does).

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22440
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-07 13:23:48 +02:00
Nikolay Sivov e84742abcc comctl32/listbox: Fix debug channel name.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-03 15:52:47 +02:00
Nikolay Sivov da75153eae comctl32/listbox: Fix multicolumn navigation on VK_RIGHT.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-22 17:02:34 +02:00
Gabriel Ivăncescu 3f266610d5 comctl32/listbox: Fix scrolling for multi-column listboxes.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38565
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 23:02:30 +02:00
Nikolay Sivov 4ee79efd86 comctl32/listbox: Update anchor index on LB_SETSEL.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 20:55:10 +02:00
Dmitry Timoshkov 02c36b52b0 comctl32/listbox: Fix the listbox sorting algorithm.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42602
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-05 19:08:34 +02:00
Dmitry Timoshkov 7decba4e2b comctl32/listbox: Fix order of items passed in WM_COMPAREITEM data.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42602
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-05 19:08:34 +02:00
Piotr Caban 0bb2cb3d99 comctl32: Fix itemData passed in ListBox WM_MEASUREITEM message.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 09:58:04 +01:00
Nikolay Sivov 0f98b0bb29 comctl32/listbox: Merge theming logic.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-14 09:05:34 +01:00
Nikolay Sivov 04fe481d2b comctl32: Introduce ListBox control.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-14 09:05:30 +01:00