BOOL SVisionWindow::OnMouseWheel(UINT nFlags, short zDelta, CPoint point) { CPoint pt; GetCursorPos(&pt); ScreenToClient(GetContainer()->GetHostHwnd(), &pt); STRACE(L"屏幕坐标位置:%d,%d\r\n", pt.x, pt.y); STRACE(L"滚轮反馈位置:%d,%d\r\n", point.x, point.y);
if (m_WindowExtents.PtInRect(pt) && (m_StateView & Wnd_Move) > 0) { // 1.坐标转换 PointD tempPoint = ToHMouse(pt);
// 2.处理坐标转换 if (zDelta > 0) { // 实际显示区域放大,图像实际效果缩小 Zoom(tempPoint, 1/0.95); } else if (zDelta < 0) { // 实际显示区域缩小,图像实际效果放大 Zoom(tempPoint, 0.95); } }
return __super::OnMouseWheel(nFlags, zDelta, point); }
|