mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-27 19:25:36 +00:00
[USER32] Add support for navigating a group of radio buttons using a keyboard.
Import Wine commit: https://source.winehq.org/git/wine.git/commit/b1b8fb77be5dd9a8754b04b2ef9f703bbe393d59 "user32: Add support for navigating a group of radio buttons using a keyboard. The patch approximates the behaviour observed in the message tests but still doesn't make the message tests pass without failures. " by Dmitry Timoshkov. See bug report https://bugs.winehq.org/show_bug.cgi?id=16845
This commit is contained in:
@@ -2556,8 +2556,16 @@ IsDialogMessageW(
|
||||
if (!(dlgCode & DLGC_WANTARROWS))
|
||||
{
|
||||
BOOL fPrevious = (lpMsg->wParam == VK_LEFT || lpMsg->wParam == VK_UP);
|
||||
HWND hwndNext = GetNextDlgGroupItem (hDlg, GetFocus(), fPrevious );
|
||||
SendMessageW( hDlg, WM_NEXTDLGCTL, (WPARAM)hwndNext, 1 );
|
||||
HWND hwndNext = GetNextDlgGroupItem( hDlg, lpMsg->hwnd, fPrevious );
|
||||
if (hwndNext && SendMessageW( hwndNext, WM_GETDLGCODE, lpMsg->wParam, (LPARAM)lpMsg ) == (DLGC_BUTTON | DLGC_RADIOBUTTON))
|
||||
{
|
||||
SetFocus( hwndNext );
|
||||
if ((GetWindowLongW( hwndNext, GWL_STYLE ) & BS_TYPEMASK) == BS_AUTORADIOBUTTON &&
|
||||
SendMessageW( hwndNext, BM_GETCHECK, 0, 0 ) != BST_CHECKED)
|
||||
SendMessageW( hwndNext, BM_CLICK, 1, 0 );
|
||||
}
|
||||
else
|
||||
SendMessageW( hDlg, WM_NEXTDLGCTL, (WPARAM)hwndNext, 1 );
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user