SOUI鼠标事件

protected:
void OnMouseMove(UINT nFlags, CPoint point);
BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
void OnLButtonDown(UINT nFlags, CPoint point);
void OnLButtonUp(UINT nFlags, CPoint point);
void OnDestroy();
void OnSize(UINT nType, CSize size);

SOUI_MSG_MAP_BEGIN()
MSG_WM_DESTROY(OnDestroy)
MSG_WM_MOUSEMOVE(OnMouseMove)
MSG_WM_MOUSEWHEEL(OnMouseWheel)
MSG_WM_LBUTTONDOWN(OnLButtonDown)
MSG_WM_LBUTTONUP(OnLButtonUp)
MSG_WM_SIZE(OnSize)
SOUI_MSG_MAP_END()
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);
}