你这样修改一下试试:
定义类变量:bool m_bRDown;并在类初始化函数中添加m_bRDown = false;
case WM_RBUTTONDOWN:
GetCursorPos(&point);
pre=point.y;
m_bRDown = true
break;
case WM_MOUSEMOVE:
if(wParam&m_bRDown)
{
GetCursorPos(&point);
cur=point.y;
w=cur-pre;// WPARAM w
w=w<<16+0x0005;//高两位移动坐标,低两位0x0005是SB_THUMBTRACK消息
SendMessage(hwnd,WM_VSCROLL,w,0);
}
break;
case WM_RBUTTONUP:
m_bRDown = false;
break;
首先没太听明白你在说什么,感觉像是移动和按键方面的问题。
根据楼上说的,按下时设置一个变量为TRUE,移动时如果这个变量为真就做。。。为假就跳过。。
可以设置右键按下消息变量isRBUTTONdown,在移动中根据这个变量来处理。