首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-09-17 
API 图片跟随鼠标移动时不断闪烁向上下移动时上下闪烁,左右移动时左右闪烁,感觉貌似是图片不能准确定位所

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的原因,并没有每移动一个像素就发送一次消息?

热点排行