MFC 对话框每隔几秒显示一张图片

时间:2021-03-16 20:33:20
基于Dialog的对话框,在主对话框中有两个Button按钮,点击一个按钮后显示另一个对话框,这个对话框是全屏的,此时图片也全屏显示,每隔几秒显示一张。。 高手请教啊!

31 个解决方案

#1


用定时器,改变图片后刷新贴图!

#2


启动全屏对话框的时候,同时启动定时器!

#3


引用 1 楼 fandh 的回复:
用定时器,改变图片后刷新贴图!

+

#4


WM_TIMER,

#5


引用 2 楼 fandh 的回复:
启动全屏对话框的时候,同时启动定时器!

++

WM_TIMER消息,SetTimer(1,//几秒,NULL);
OnTimer()中添加图片切换的程序

#6


这么简单我真不知道从何帮起了,就好像1+1=2

#7


定时器啊。。。。处理WM_TIMER消息,用SetTimer设置时间间隔~~

#8


引用 1 楼 fandh 的回复:
用定时器,改变图片后刷新贴图!

++

#9


使用SetTimer设置一个计时器,当计时器触发后设置一个当前要显示的图片,然后Invalidate()刷新下窗口显示,最后在WM_PAINT消息中画出当前那个图片就好了

#10


引用 9 楼 mynamelj 的回复:
使用SetTimer设置一个计时器,当计时器触发后设置一个当前要显示的图片,然后Invalidate()刷新下窗口显示,最后在WM_PAINT消息中画出当前那个图片就好了

++

#11


响应WM_TIMER消息
在启动全屏显示时调用
SetTimer();
然后在OnTimer()实现图片切换

#12


能简单贴个代码吗

#13


引用 12 楼 wangchunhua123456 的回复:
能简单贴个代码吗

但就动画来说
这篇文章的例子就是
http://blog.csdn.net/xianglitian/article/details/6100767
当然你把画线的部分改成贴图就是了
如果你还说不知该怎么做的话
我觉得......

#14


用个定时器 然后用使用DC贴图。。。就这样吧

#15


用定时器这个是基础,然后就是绘图。这个东西涉及到了这两方面的知识

#16


定时器,贴图,重绘

#17


引用 16 楼 g6785654 的回复:
定时器,贴图,重绘
++

#18


顶楼上

#19


定时器

#20


顶楼上

#21


先写一个函数,实现在对话框显示一张图片,然后在OnTime里进行计数,调用这个函数,就可以显示

#22


引用 13 楼 xianglitian 的回复:
引用 12 楼 wangchunhua123456 的回复:

能简单贴个代码吗

但就动画来说
这篇文章的例子就是
http://blog.csdn.net/xianglitian/article/details/6100767
当然你把画线的部分改成贴图就是了
如果你还说不知该怎么做的话
我觉得......


觉得太着急了

#23


学习中

#24


、、、、、、、、、、、、、
楼主加油!

#25


这个问题 我以解决了。谢谢各位!

#26


该回复于2011-12-01 08:47:08被版主删除

#27


定时器楼上诸位说的很全面了,然后在 ontimer里 调用 Invalidate();然后把你要不断切换图片的代码写到 onpaint 函数里 也行!

#28


引用 10 楼 yuelengdihai 的回复:
引用 9 楼 mynamelj 的回复:

使用SetTimer设置一个计时器,当计时器触发后设置一个当前要显示的图片,然后Invalidate()刷新下窗口显示,最后在WM_PAINT消息中画出当前那个图片就好了

++


++

#29


msvcr90d.dll!_CrtDbgBreak() 行89 C

这个错误是什么意思? 两天都没解决!请高手啊!

#30


堆栈显示为:
ntdll.dll!7c92120e()
[下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号]
msvcr90d.dll!_CrtDbgBreak() 行89 C

看不懂~~

#31


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法

#1


用定时器,改变图片后刷新贴图!

#2


启动全屏对话框的时候,同时启动定时器!

#3


引用 1 楼 fandh 的回复:
用定时器,改变图片后刷新贴图!

+

#4


WM_TIMER,

#5


引用 2 楼 fandh 的回复:
启动全屏对话框的时候,同时启动定时器!

++

WM_TIMER消息,SetTimer(1,//几秒,NULL);
OnTimer()中添加图片切换的程序

#6


这么简单我真不知道从何帮起了,就好像1+1=2

#7


定时器啊。。。。处理WM_TIMER消息,用SetTimer设置时间间隔~~

#8


引用 1 楼 fandh 的回复:
用定时器,改变图片后刷新贴图!

++

#9


使用SetTimer设置一个计时器,当计时器触发后设置一个当前要显示的图片,然后Invalidate()刷新下窗口显示,最后在WM_PAINT消息中画出当前那个图片就好了

#10


引用 9 楼 mynamelj 的回复:
使用SetTimer设置一个计时器,当计时器触发后设置一个当前要显示的图片,然后Invalidate()刷新下窗口显示,最后在WM_PAINT消息中画出当前那个图片就好了

++

#11


响应WM_TIMER消息
在启动全屏显示时调用
SetTimer();
然后在OnTimer()实现图片切换

#12


能简单贴个代码吗

#13


引用 12 楼 wangchunhua123456 的回复:
能简单贴个代码吗

但就动画来说
这篇文章的例子就是
http://blog.csdn.net/xianglitian/article/details/6100767
当然你把画线的部分改成贴图就是了
如果你还说不知该怎么做的话
我觉得......

#14


用个定时器 然后用使用DC贴图。。。就这样吧

#15


用定时器这个是基础,然后就是绘图。这个东西涉及到了这两方面的知识

#16


定时器,贴图,重绘

#17


引用 16 楼 g6785654 的回复:
定时器,贴图,重绘
++

#18


顶楼上

#19


定时器

#20


顶楼上

#21


先写一个函数,实现在对话框显示一张图片,然后在OnTime里进行计数,调用这个函数,就可以显示

#22


引用 13 楼 xianglitian 的回复:
引用 12 楼 wangchunhua123456 的回复:

能简单贴个代码吗

但就动画来说
这篇文章的例子就是
http://blog.csdn.net/xianglitian/article/details/6100767
当然你把画线的部分改成贴图就是了
如果你还说不知该怎么做的话
我觉得......


觉得太着急了

#23


学习中

#24


、、、、、、、、、、、、、
楼主加油!

#25


这个问题 我以解决了。谢谢各位!

#26


该回复于2011-12-01 08:47:08被版主删除

#27


定时器楼上诸位说的很全面了,然后在 ontimer里 调用 Invalidate();然后把你要不断切换图片的代码写到 onpaint 函数里 也行!

#28


引用 10 楼 yuelengdihai 的回复:
引用 9 楼 mynamelj 的回复:

使用SetTimer设置一个计时器,当计时器触发后设置一个当前要显示的图片,然后Invalidate()刷新下窗口显示,最后在WM_PAINT消息中画出当前那个图片就好了

++


++

#29


msvcr90d.dll!_CrtDbgBreak() 行89 C

这个错误是什么意思? 两天都没解决!请高手啊!

#30


堆栈显示为:
ntdll.dll!7c92120e()
[下面的框架可能不正确和/或缺失,没有为 ntdll.dll 加载符号]
msvcr90d.dll!_CrtDbgBreak() 行89 C

看不懂~~

#31


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法