Fix list control shift/ctrl handling

This commit is contained in:
Zihan Chen
2021-06-25 17:27:08 -07:00
parent 14d8cefae1
commit 44d5003112
2 changed files with 14 additions and 13 deletions
+2 -1
View File
@@ -10177,7 +10177,8 @@ GuiSelectableListControl
{ {
if (!ctrl) if (!ctrl)
{ {
SetMultipleItemsSelectedSilently(selectedItemIndexStart, selectedItemIndexEnd, false); selectedItems.Clear();
OnItemSelectionCleared();
} }
selectedItemIndexEnd = itemIndex; selectedItemIndexEnd = itemIndex;
SetMultipleItemsSelectedSilently(selectedItemIndexStart, selectedItemIndexEnd, true); SetMultipleItemsSelectedSilently(selectedItemIndexStart, selectedItemIndexEnd, true);
+11 -11
View File
@@ -8213,22 +8213,22 @@ WindowsForm
} }
} }
if(wheelMessage) if (wheelMessage)
{ {
info.wheel=GET_WHEEL_DELTA_WPARAM(wParam); info.wheel = GET_WHEEL_DELTA_WPARAM(wParam);
wParam=GET_KEYSTATE_WPARAM(wParam); wParam = GET_KEYSTATE_WPARAM(wParam);
} }
else else
{ {
info.wheel=0; info.wheel = 0;
} }
if (nonClient) if (nonClient)
{ {
info.ctrl = WinIsKeyPressing(VKEY::_CONTROL); info.ctrl = WinIsKeyPressing(VKEY::_CONTROL);
info.shift = WinIsKeyPressing(VKEY::_SHIFT); info.shift = WinIsKeyPressing(VKEY::_SHIFT);
info.left= WinIsKeyPressing(VKEY::_LBUTTON); info.left = WinIsKeyPressing(VKEY::_LBUTTON);
info.middle= WinIsKeyPressing(VKEY::_MBUTTON); info.middle = WinIsKeyPressing(VKEY::_MBUTTON);
info.right = WinIsKeyPressing(VKEY::_RBUTTON); info.right = WinIsKeyPressing(VKEY::_RBUTTON);
POINTS point = MAKEPOINTS(lParam); POINTS point = MAKEPOINTS(lParam);
@@ -8238,11 +8238,11 @@ WindowsForm
} }
else else
{ {
info.ctrl=((VKEY)wParam & VKEY::_CONTROL)!=(VKEY)0; info.ctrl = (wParam & MK_CONTROL) != 0;
info.shift=((VKEY)wParam & VKEY::_SHIFT)!= (VKEY)0; info.shift = (wParam & MK_SHIFT) != 0;
info.left=((VKEY)wParam & VKEY::_LBUTTON)!= (VKEY)0; info.left = (wParam & MK_LBUTTON) != 0;
info.middle=((VKEY)wParam & VKEY::_MBUTTON)!= (VKEY)0; info.middle = (wParam & MK_MBUTTON) != 0;
info.right=((VKEY)wParam & VKEY::_RBUTTON)!= (VKEY)0; info.right = (wParam & MK_RBUTTON) != 0;
POINTS point = MAKEPOINTS(lParam); POINTS point = MAKEPOINTS(lParam);