请教:vc6下“鼠标滑轮事件”的问题--GET_WHEEL_DELTA_WPARAM()函数无法识别

yaoyansi 2006-03-08 03:19:29
我要获取鼠标滑轮滑动的距离,于是按照msdn上说:zDelta = GET_WHEEL_DELTA_WPARAM(wParam);
但是,编译不通过。提示:“'GET_WHEEL_DELTA_WPARAM' : undeclared identifier”
该怎么办?请高手指点!谢谢!

系统是win2000,环境是vc++6.0
程序所包含的头文件如下:
#include <stdlib.h>
#include <vector>
#define _WIN32_WINDOWS 0x0410//如果没有这行,程序就识别不了“WM_MOUSEWHEEL”这个鼠标事件的常量!
#include <windows.h>
#include <string.h>
#include <stdio.h>
#include <gl\gl.h>
#include <gl\glu.h>
#include <gl\glaux.h>
#include <GL\glut.h>
#include <math.h>

...全文
549 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜牛 2006-03-08
  • 打赏
  • 举报
回复
#if(_WIN32_WINNT >= 0x0400)
/* Value for rolling one detent */
#define WHEEL_DELTA 120
#define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam))
wawaku 2006-03-08
  • 打赏
  • 举报
回复
大哥,你楼上就我一人

想做什么呢 弄不懂你的意思了
yaoyansi 2006-03-08
  • 打赏
  • 举报
回复
哦 我明白楼上诸位的意思了
可是,我处理滑轮不是为了改变滚动条的位置,是为了其他事情
yaoyansi 2006-03-08
  • 打赏
  • 举报
回复
目前,我是这样解决的:
在windows sdk下面的winuser.h文件里发现GET_WHEEL_DELTA_WPARAM的宏定义,如下:
#define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam))
那么,我在程序中把zDelta = GET_WHEEL_DELTA_WPARAM(wParam);语句还成了
zDelta = GET_WHEEL_DELTA_WPARAM(wParam);
编译运行通过!

不过,感觉总是怪怪的,仍然期待高人的指点。
wawaku 2006-03-08
  • 打赏
  • 举报
回复
不必得倒呀,就是在WM_MOUSEWHEEL 的消息函数里写就个就OK。
然后你当然得加上你自己坐标转换的东西啊,这个是我一个程序里的,用鼠标中轮来控制了滚动条的坐标,
BOOL CXXXXView::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{

if(zDelta == 120)
{
if(m_vscroll.GetScrollPos()>=25)
{
m_vscroll.SetScrollPos(m_vscroll.GetScrollPos()-25,true);
vcurpos-=25;
}
Invalidate();
}
if(zDelta == -120)
{
if(m_vscroll.GetScrollPos()<=2999)
{
m_vscroll.SetScrollPos(m_vscroll.GetScrollPos()+25,true);
vcurpos+=25;
}
Invalidate();
}

yaoyansi 2006-03-08
  • 打赏
  • 举报
回复
if(zDelta == 120)
{
//向上滚
}

if(zDelta == 120)
{
//向下滚
}

--------------------------------------------
可是,你是如何得到zDelta的值的呢?



zDelta = GET_WHEEL_DELTA_WPARAM(wParam);//我这样写,编译器不认识这个函数
wawaku 2006-03-08
  • 打赏
  • 举报
回复
下是 -120
wawaku 2006-03-08
  • 打赏
  • 举报
回复
if(zDelta == 120)
{
//向上滚
}

if(zDelta == 120)
{
//向下滚
}

上下有点记不清了,你试试吧

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧