diff options
author | Patrik Nyblom <[email protected]> | 2010-12-09 15:11:05 +0100 |
---|---|---|
committer | Patrik Nyblom <[email protected]> | 2010-12-09 15:11:05 +0100 |
commit | 74ee7676df5720c1624d79e5cdb3d6fdf29c78f3 (patch) | |
tree | 72f44661f6971d624ee6d61a199240657313ef81 /erts | |
parent | 1d82ce2e4466980e5c360b54722952a30bc3ae50 (diff) | |
download | otp-74ee7676df5720c1624d79e5cdb3d6fdf29c78f3.tar.gz otp-74ee7676df5720c1624d79e5cdb3d6fdf29c78f3.tar.bz2 otp-74ee7676df5720c1624d79e5cdb3d6fdf29c78f3.zip |
Teach win_con.c about scroll wheels
Diffstat (limited to 'erts')
-rw-r--r-- | erts/emulator/drivers/win32/win_con.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/erts/emulator/drivers/win32/win_con.c b/erts/emulator/drivers/win32/win_con.c index 2202ca655f..14f7941643 100644 --- a/erts/emulator/drivers/win32/win_con.c +++ b/erts/emulator/drivers/win32/win_con.c @@ -704,6 +704,18 @@ FrameWndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) } write_inbuf(&c, 1); return 0; + case WM_MOUSEWHEEL: + { + int delta = GET_WHEEL_DELTA_WPARAM(wParam); + if (delta < 0) { + PostMessage(hClientWnd, WM_VSCROLL, MAKELONG(SB_THUMBTRACK, + (iVscrollPos + 5)),0); + } else { + WORD pos = ((iVscrollPos - 5) < 0) ? 0 : (iVscrollPos - 5); + PostMessage(hClientWnd, WM_VSCROLL, MAKELONG(SB_THUMBTRACK,pos),0); + } + return 0; + } case WM_CHAR: c = (TCHAR)wParam; write_inbuf(&c,1); |