读书人

API 图片追随鼠标移动时不断闪烁

发布时间: 2012-09-17 12:06:51 作者: rapoo

API 图片跟随鼠标移动时不断闪烁
向上下移动时上下闪烁,左右移动时左右闪烁,感觉貌似是图片不能准确定位所以造成不断重绘,导致闪烁。
但是实现的逻辑上又看不出什么问题,不知道哪里出现了差错,完全不知怎样改

关于图片跟随鼠标移动有些什么好的方法实现,只用API GDI实现,不用MFC

puzz[pt.x][pt.y].x&y 是图片的左上角坐标
LOWORD(lParam)-HIWORD(lParam) 就是鼠标当前坐标
puzz[pt.x][pt.y].m_pt.x&y 是上一次点击图片时鼠标的坐标

HDWP hdwp = BeginDeferWindowPos(1);
puzz[pt.x][pt.y].x +=LOWORD(lParam)-puzz[pt.x][pt.y].m_pt.x;
puzz[pt.x][pt.y].y +=HIWORD(lParam)-puzz[pt.x][pt.y].m_pt.y;
hdwp = DeferWindowPos( hdwp, hWnd, NULL,
puzz[pt.x][pt.y].x,
puzz[pt.x][pt.y].y,
0, 0,
SWP_SHOWWINDOW | SWP_NOZORDER | /*SWP_NOREDRAW |*/
SWP_NOSIZE );
EndDeferWindowPos( hdwp );

[解决办法]
前后两次坐标不变的话就没必要重绘了吧。
[解决办法]

探讨
引用:


闪烁的问题解决了,出现了另一个问题

图片跟随鼠标移动,但是鼠标移动太快就会移出图片,即是说图片跟不上鼠标,究竟是什么原因呢,有什么办法解决呢,难道是因为WM_MOUSEMOVE的原因,并没有每移动一个像素就发送一次消息?

读书人网 >C++

热点推荐