控件必须获取焦点才能响应OnMouseWheel。因此首先要在控件的OnLButtonDown里调用SetFocus();。
然后重载控件的OnMouseWheel函数:
BOOL CYuCvImageControl::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{
// TODO: Add your message handler code here and/or call default
switch (zDelta)
{
case -120:
YuCvZoom(0.9);
break;
case 120:
YuCvZoom(1.1);
break;
default:
break;
}
return CStatic::OnMouseWheel(nFlags, zDelta, pt);
}其中:
水平滚动条:
向前滑动滚轮->滚动条向左移动
向后滑动滚轮->滚动条向右移动
垂直滚动条:
向前滑动滚轮->滚动条向上移动
向后滑动滚轮->滚动条向下移动
本文介绍了一种使控件能够响应鼠标滚轮操作的方法。为了实现这一功能,需要先确保控件获得了焦点,之后通过重载OnMouseWheel函数来处理滚轮事件。文中提供了具体的代码示例,展示了如何根据不同方向的滚轮滚动来调整图像大小。
232

被折叠的 条评论
为什么被折叠?



