MFC 现在我想实现如下功能 当鼠标不点时,窗口里的图片在上下左右地移动 当点鼠标时,立即到

MFC现在我想实现如下功能当鼠标不点时,窗口里的图片在上下左右地移动当点鼠标时,立即到消息响应函数里,判断是否点中图片。现在我用while来执行第一步,但是鼠标点击后进入... MFC

现在我想实现如下功能

当鼠标不点时,窗口里的图片在上下左右地移动

当点鼠标时,立即到消息响应函数里,判断是否点中图片



现在我用while来执行第一步,但是鼠标点击后进入不了消息响应函数

求办法
展开
 我来答
bhtzu
推荐于2016-08-16 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4193万
展开全部
MFC窗口程序,连续运动应该使用消息机制,使用while的大循环绘制界面,是和windows编程理念冲突的,会造成很多问题。
合理方案1:定时器。通过定时器完成每个单次的绘制。
合理方案2:界面线程。在绘制比较复杂、并发要求较高、或者数据交互比较多的情况下,都应该使用线程来解决。
while循环的绘图,应该彻底摒弃。
更多追问追答
追问
可以说说方案一吗,是定时回调吗?

大概说说下吧
追答

MFC的程序,不需要写回调函数,因为窗口类自带了OnTimer定时器响应函数,你只需重载实现这个函数,在函数中实现每个单次的绘制即可(绘制参数应该由类成员变量控制),定时器的启用就是SetTimer函数:

SetTimer(1,500,NULL);//500毫秒一次
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式