在一个带有垂直(水平)滚动条的视图窗口中,鼠标点击窗口的客户区左上角后,通过 LButtonDown()能获得 point.x = 0, point.y = 0; (这是正确的)
滚动窗口的垂直(水平)滚动条后,鼠标再次点击窗口的客户区左上角点击后,通过 LButtonDown()能获得的 仍然 是 point.x = 0, point.y = 0; (这不是我想要的)
这时我想获得的point.x 与 point.y 应该是加上垂直(水平)滚动的距离,
请问应该怎样把获得的point.x = 0, point.y = 0 转换 成整个窗口客户区的绝对 X,Y 或 怎样获取 垂直(水平)滚动的距离呢
谢谢
你的类是继承自CScrollView类对吧?那你在OnLButtonDown()函数中最开始加入如下代码:
CClientDC dc(this);
OnPrepareDC(&dc);
dc.DPtoLP(&point);
......
接下来,point中的坐标应该就符合你的意愿了!
CClientDC dc(this);
OnPrepareDC(&dc);
dc.DPtoLP(&point);
......
接下来,point中的坐标应该就符合你的意愿了!
温馨提示:答案为网友推荐,仅供参考