Fix: MFC remote desktop touchpad two-finger scroll not working
This commit is contained in:
@@ -2305,8 +2305,8 @@ BOOL CScreenSpyDlg::PreTranslateMessage(MSG* pMsg)
|
||||
MSG wheelMsg = *pMsg;
|
||||
wheelMsg.lParam = MAKELPARAM(pt.x, pt.y);
|
||||
SendScaledMouseMessage(&wheelMsg, true);
|
||||
return TRUE; // 已处理,阻止继续分发到 OnMouseWheel
|
||||
}
|
||||
break;
|
||||
case WM_KEYDOWN:
|
||||
case WM_KEYUP:
|
||||
case WM_SYSKEYDOWN:
|
||||
@@ -2682,7 +2682,20 @@ void CScreenSpyDlg::OnLButtonUp(UINT nFlags, CPoint point)
|
||||
|
||||
BOOL CScreenSpyDlg::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
|
||||
{
|
||||
return __super::OnMouseWheel(nFlags, zDelta, pt);
|
||||
// Convert screen coordinates to client coordinates
|
||||
ScreenToClient(&pt);
|
||||
|
||||
// Build MSG structure for SendScaledMouseMessage
|
||||
MSG msg = {};
|
||||
msg.hwnd = m_hWnd;
|
||||
msg.message = WM_MOUSEWHEEL;
|
||||
msg.wParam = MAKEWPARAM(nFlags, zDelta);
|
||||
msg.lParam = MAKELPARAM(pt.x, pt.y);
|
||||
msg.time = GetTickCount();
|
||||
msg.pt = { pt.x, pt.y };
|
||||
|
||||
SendScaledMouseMessage(&msg, true);
|
||||
return TRUE; // Message handled, don't pass to parent
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user