mirror of
https://github.com/reactos/wine.git
synced 2024-11-25 04:39:45 +00:00
user32: Split the handling of the 16-bit messages out of the scrollbar winproc.
This commit is contained in:
parent
8b226ac4d6
commit
11ed5da3fd
@ -1519,19 +1519,12 @@ static LRESULT ScrollBarWndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM
|
||||
}
|
||||
break;
|
||||
|
||||
case SBM_SETPOS16:
|
||||
case SBM_SETPOS:
|
||||
return SetScrollPos( hwnd, SB_CTL, wParam, (BOOL)lParam );
|
||||
|
||||
case SBM_GETPOS16:
|
||||
case SBM_GETPOS:
|
||||
return SCROLL_GetScrollPos(hwnd, SB_CTL);
|
||||
|
||||
case SBM_SETRANGE16:
|
||||
if (wParam) message = SBM_SETRANGEREDRAW;
|
||||
wParam = LOWORD(lParam);
|
||||
lParam = HIWORD(lParam);
|
||||
/* fall through */
|
||||
case SBM_SETRANGEREDRAW:
|
||||
case SBM_SETRANGE:
|
||||
{
|
||||
@ -1543,18 +1536,9 @@ static LRESULT ScrollBarWndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM
|
||||
}
|
||||
return 0;
|
||||
|
||||
case SBM_GETRANGE16:
|
||||
{
|
||||
INT min, max;
|
||||
|
||||
SCROLL_GetScrollRange(hwnd, SB_CTL, &min, &max);
|
||||
return MAKELRESULT(min, max);
|
||||
}
|
||||
|
||||
case SBM_GETRANGE:
|
||||
return SCROLL_GetScrollRange(hwnd, SB_CTL, (LPINT)wParam, (LPINT)lParam);
|
||||
|
||||
case SBM_ENABLE_ARROWS16:
|
||||
case SBM_ENABLE_ARROWS:
|
||||
return EnableScrollBar( hwnd, SB_CTL, wParam );
|
||||
|
||||
@ -1591,12 +1575,43 @@ static LRESULT ScrollBarWndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* ScrollBarWndProc_wrapper16
|
||||
*/
|
||||
static LRESULT ScrollBarWndProc_wrapper16( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, BOOL unicode )
|
||||
{
|
||||
static const UINT msg16_offset = SBM_SETPOS16 - SBM_SETPOS;
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
case SBM_SETPOS16:
|
||||
case SBM_GETPOS16:
|
||||
case SBM_ENABLE_ARROWS16:
|
||||
msg -= msg16_offset;
|
||||
break;
|
||||
case SBM_SETRANGE16:
|
||||
msg = wParam ? SBM_SETRANGEREDRAW : SBM_SETRANGE;
|
||||
wParam = LOWORD(lParam);
|
||||
lParam = HIWORD(lParam);
|
||||
break;
|
||||
case SBM_GETRANGE16:
|
||||
{
|
||||
INT min, max;
|
||||
ScrollBarWndProc( hwnd, SBM_GETRANGE, (WPARAM)&min, (LPARAM)&max, FALSE );
|
||||
return MAKELRESULT(min, max);
|
||||
}
|
||||
default:
|
||||
return ScrollBarWndProc( hwnd, msg, wParam, lParam, unicode );
|
||||
}
|
||||
return ScrollBarWndProc( hwnd, msg, wParam, lParam, FALSE );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* ScrollBarWndProcA
|
||||
*/
|
||||
static LRESULT WINAPI ScrollBarWndProcA( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
return ScrollBarWndProc( hwnd, message, wParam, lParam, FALSE );
|
||||
return ScrollBarWndProc_wrapper16( hwnd, message, wParam, lParam, FALSE );
|
||||
}
|
||||
|
||||
|
||||
@ -1605,7 +1620,7 @@ static LRESULT WINAPI ScrollBarWndProcA( HWND hwnd, UINT message, WPARAM wParam,
|
||||
*/
|
||||
static LRESULT WINAPI ScrollBarWndProcW( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
return ScrollBarWndProc( hwnd, message, wParam, lParam, TRUE );
|
||||
return ScrollBarWndProc_wrapper16( hwnd, message, wParam, lParam, TRUE );
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user